# Bestimmte Zeile aus Textdatei einlesen und editieren



## Rift (23. Januar 2005)

Ich hab die Suchfunktion benutzt und dabei nichts gefunden...
kann mir irgendjemand dabei hlefen?
Ich wollte aus einer textdatei eine bestimmte zeile auslesen und diese dann editieren.
bisher hab ich das aber immer nur so hinbekommen, dass er den ganzen inhalt der datei löscht und das neue hinschreibt!
kann mir da jemand helfen?

Danke schonmal


----------



## wincnc (23. Januar 2005)

Schau mal hier:
Textdateien komfortabel einlesen und schreiben


----------



## Da Hacker (23. Januar 2005)

Hallo Rift,

vergiss die API's!
Bis du das mal durch hast...

Also der Befehl, der für dich da ist, lautet "Line Input".
Du solltest dir keine Tutorials über API's reinziehen, sondern über die verschiedenen Lesetypen. Wenn du willst, dass der Text wirklich ersetzt wird, dann benutz Line Input. Je nachdem, ob deine Textdatei bereits besteht oder nicht, musst du einen weiteren Schreibvorgang starten, der die Datei erstellt. Ein Beispiel für Line Input:

```
Kanal = Freefile
open "F:\Testtext.txt" for Input as Kanal
Line Input Kanal#, Zeile1, Zeile2, Zeile3
text1.text = Zeile3
close Kanal
```

Dann kannst du die Zeile in der Textbox editieren und später einen Speicherungsprozess programmieren.
In gewissen Dingen sind die API's allerdings auch nützlich. Schau dir die Seite von Wincnc an und entscheide selber, mit was du besser zurecht kommst.

Ciao:
Da' Hacker


----------



## NRFi (24. Januar 2005)

ich würde auch die open Funktion nehmen:


```
function GetZeile(zeilennummer as integer)

dim strZeile as string
dim i as integer

Kanal = Freefile
open "F:\Testtext.txt" for Input as Kanal
   do while EOF(Kanal)
      Line Input #Kanal, strZeile

      if i = zeilennummer then
         exit loop
      end if

      i = i + 1
   loop
close Kanal

GetZeile = strZeile
end function
```


----------



## Rift (27. Januar 2005)

danke auf jedenfall für eure Antworten..
ich hatte auch den LineInput Befehl in erinnerung, wusste aber nicht mehr genau wie der Aufgebaut ist!
Vielen dank nochmal an euch alle, war echt eine große hilfe!
jetzt gehts 


EDIT: Hab jetzt das LineInput genommen, wie kann ich jetzt noch einen bestimmten part dieser zeile editieren?


----------



## Da Hacker (28. Januar 2005)

Hallo Rift,

so, du hast also da deine Variable. Nun musst du diese, mit "CStr" in einen String konvertieren(falls dies nicht schon gemacht wurde) und dich der vielen "String-Bearbeitungs-Möglichkeiten" bedienen.
Da gibt es zum Beispiel den Befehl "Left", "Mid" und "Right". Die Syntax erfährst du, wenn du die Keywords eingegeben hast. Danach kommt "InStr". Du solltest mal nach diesen Wörtern bei Yahoo! suchen, um die richtigen Möglichkeiten kennenzulernen.
Mit diesen Befehlen kannst du deinen Input bearbeiten und ausgeben.

PS: Ich finds gut, dass du editiert hast, das macht die Moderatoren glücklich! Allerdings war es eher Zufall, dass ich deine Frage gefunden habe. Naja.

Ciao:
Da' Hacker


----------



## Rift (1. Februar 2005)

jojo^^
erstmal nochmal recht herzlichen dank, dass du mir auch hierauf so eine schnelle atwort gegeben hast, würde mich noch echt doll über ein beispiel freuen.
das würde mir die sach deutlich erleichtern, also wenn du da gerde nochmal nen beispiel parat hast, oder viel zeit übrig   was ich bezweifle, dann kannste das ja mal reinhauen!
das hat aber zeit und muss nicht sofort sein!


----------

