[ ERLEDIGT ] txt Datei einlesen, kürzen & verteilen
Verfasst: 02.03.2016 04:53
Ich probiere mich zzT an einem kleinen Tool, welches eine Text Datei auslesen soll und mir die untereinander stehenden Zeilen in verschiedene StringGadget verteilen.
Die StringGadgets sind in der Text Datei pro Zeile bestimmt worden und sollen entsprechend dem Tool pro Gadget mit einem klick auf den Button zugeordnet werden.
meine Text Datei (bilder_links.txt) sieht wie folgt aus:
damit ich nun den kompletten Link nach dem "=" in das entsprechende StringGadget laden kann habe ich pro Zeile eine Kennung angelegt die genau so heißt, wie das StringGatget im Tool.
Der Link hinter dem "=" von "StringGadgetPicture1" soll nun im Tool auch in das richtige StringGadget, "#Picture1 usw" geladen und angezeigt werden.
Also müsste ich pro Zeile den Cursor 21 Zeichen nach rechts rücken, damit meine "sogenannte Kennungsvariable" aus der Text Datei nicht mit angezeigt wird?
Leider habe ich nicht das richtige in der Hilfe gefunden was mir weiter hilft. Ich kann den Button klicken und es lädt den Inhalt der ersten kompletten Zeile in das erste StringGadget, "#Picture1".
Wie muss man vorgehen um die richtige Zeile der Text Datei, dem richtigen StringGadget zuzuordnen? Bin seit paar Stunden schon Ratlos. Habe leider auch durch suchen nichts gefunden, da ich nicht recht weiß, was genau ich suchen muss.
Hier eine abgespeckter Tool Code:

Danke fürs lesen.
Die StringGadgets sind in der Text Datei pro Zeile bestimmt worden und sollen entsprechend dem Tool pro Gadget mit einem klick auf den Button zugeordnet werden.
meine Text Datei (bilder_links.txt) sieht wie folgt aus:
Code: Alles auswählen
StringGadgetPicture1=C:\Users\mich\Pictures\lokal.png
StringGadgetPicture2=C:\Users\mich\Pictures\eifel.png
StringGadgetPicture3=C:\Users\mich\Pictures\caffee.png
StringGadgetPicture4=C:\Users\mich\Pictures\maler.png
StringGadgetPicture5=C:\Users\mich\Pictures\noise.png
Der Link hinter dem "=" von "StringGadgetPicture1" soll nun im Tool auch in das richtige StringGadget, "#Picture1 usw" geladen und angezeigt werden.
Also müsste ich pro Zeile den Cursor 21 Zeichen nach rechts rücken, damit meine "sogenannte Kennungsvariable" aus der Text Datei nicht mit angezeigt wird?
Leider habe ich nicht das richtige in der Hilfe gefunden was mir weiter hilft. Ich kann den Button klicken und es lädt den Inhalt der ersten kompletten Zeile in das erste StringGadget, "#Picture1".
Wie muss man vorgehen um die richtige Zeile der Text Datei, dem richtigen StringGadget zuzuordnen? Bin seit paar Stunden schon Ratlos. Habe leider auch durch suchen nichts gefunden, da ich nicht recht weiß, was genau ich suchen muss.
Hier eine abgespeckter Tool Code:
Code: Alles auswählen
Enumeration
#Window_0
EndEnumeration
;{ Gadgets
Enumeration
#Picture1
#Picture2
#Picture3
#Picture4
#Picture5
#btn_load_links
#Text_1
#Text_2
#Text_3
#Text_4
#Text_5
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 478, 221, 400, 396, "test", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
StringGadget(#Picture1, 35, 45, 330, 30, "")
StringGadget(#Picture2, 35, 105, 330, 30, "")
StringGadget(#Picture3, 35, 165, 330, 30, "")
StringGadget(#Picture4, 35, 225, 330, 30, "")
StringGadget(#Picture5, 35, 285, 330, 30, "")
ButtonGadget(#btn_load_links, 35, 335, 330, 45, "add Links from TXT File")
TextGadget(#Text_1, 35, 30, 50, 15, "Bild 1")
TextGadget(#Text_2, 35, 90, 50, 15, "Bild 2")
TextGadget(#Text_3, 35, 150, 50, 15, "Bild 3")
TextGadget(#Text_4, 35, 210, 50, 15, "Bild 4")
TextGadget(#Text_5, 35, 270, 50, 15, "Bild 5")
EndIf
EndProcedure
OpenWindow_Window_0()
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType()
;- Lade Links in Link-Slots aus TxT-Datei
If EventGadget = #btn_load_links
If ReadFile(1, "Link_Dateien\bilder_links.txt")
LinkContent$ = ReadString(1,#PB_Relative)
CloseFile(1)
EndIf
SetGadgetText(#Picture1, LinkContent$)
EndIf
Case #PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = #Window_0
CloseWindow(#Window_0)
End
EndIf
EndSelect
ForEver

Danke fürs lesen.