Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
1 - Einsteigerfragen

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Txt Zeilenweise einlesen und übergeben ...
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   18.10.18 17:20

Sowas vielleicht ?
 Declare String datei, Handle editfeld[], btn1, Long y, ende
 y = 10 : ende = 0
 datei = $Progdir + "Testfile.txt"
 'MakeFile()
 
 Window 800, 800
 WhileLoop 0, 19
   editfeld[&LOOP] = Create("Edit", %HWnd, "", 10, y, 420, 25)
   Inc y, 30
 EndWhile
 btn1 = Create("Button", %HWnd, "Lese Datei", 450, 10, 80, 25)
 
 WhileNot ende
   WaitInput
   Case %Key = 2 : ende = 1
   If Clicked(btn1)
       ReadFile()
   EndIf
 EndWhile
 
 Proc MakeFile
 Assign #1, datei
 Rewrite #1
 WhileLoop 0, 19
   Print #1, Str$(&LOOP + 1) + ". Zeile !"
 EndWhile
 Close #1
 EndProc
 
 Proc ReadFile
 ClearList
 Move("FileToList", datei)
 WhileLoop 0, GetCount(0) - 1
    SetText editfeld[&LOOP], GetString$(0, &LOOP)
 EndWhile
 EndProc
 
 End
 


Die Proc MakeFile() brauchst du ja nicht. Ich nehme mal an, daß bei
dir die Datei schon existiert. Also nur Dateinamen ändern.

Die Stringlänge habe ich jetzt mal außen vor gelassen. Ist ja egal,
es werden ja die ganzen Zeilen gelesen. Wenn die Strings länger
als 50 Zeichen in deiner Datei sind, kannst du die ersten 50 Zeichen
per
Left$(GetString$(0, &LOOP), 50)
in der Listboxliste abgreifen.
PS:
Ich sehe gerade, daß du Version X4 hast.
Dann kannst du es noch schneller und eleganter machen :

 
 Declare String datei, Handle editfeld[], btn1, Long y, ende
 y = 10 : ende = 0
 datei = $Progdir + "Testfile.txt"
 
 Window 800, 800
 WhileLoop 0, 19
   editfeld[&LOOP] = Create("Edit", %HWnd, "", 10, y, 420, 25)
   Inc y, 30
 EndWhile
 btn1 = Create("Button", %HWnd, "Lese Datei", 450, 10, 80, 25)
 
 WhileNot ende
   WaitInput
   Case %Key = 2 : ende = 1
   If Clicked(btn1)
       Set("MoveListMode", 1)
       Move("FileToList", datei)
   EndIf
 EndWhile
 
 MoveListProc
 Parameters string s, int i
 If Get("MoveListMode") = 1
    SetText editfeld[z], s
 EndIf   
 EndProc
 
 End
 


Im code-Abschnitt funktioniert eckige Klammer auf i eckige Klammer zu
in der MoveListProc nicht :
Deshalb habe ich das z genommen. In deinem Quellcode also das z gegen
den Parameter i tauschen.

Natürlich muß es mindestens genauso viele Editfelder wie Zeilen in der
Datei geben.

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (18.10.18 18:34)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Txt Zeilenweise einlesen und übergeben ...  Neu
Jens 18.10.18 15:26 
 Re: Txt Zeilenweise einlesen und übergeben ...  Neu
Heinz Brill 18.10.18 17:20 
 Re: Txt Zeilenweise einlesen und übergeben ...  Neu
Jens 18.10.18 19:54 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org