Hallo zusammen,
mit DATASECTION und ENDDATASECTION kann man einen Datenblock erstellen, dem man mittles RESTORE aufrufen kann und den inhalt bzw. die daten mittels READ einlesen kann. Wie kann ich das Einlesen stoppen, wenn der Datenblock vollständig eingelesen wurde und keine daten mehr vorhanden sind?
Gruss, gonzo
Ende eines Datablockes ermittlen
Re: Ende eines Datablockes ermittlen
.
Zuletzt geändert von NoUser am 01.09.2012 07:39, insgesamt 1-mal geändert.
Re: Ende eines Datablockes ermittlen
Das wäre ein Feature Request wert, hab nämlich auch sowas paar mal gebrauchen können 

ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Re: Ende eines Datablockes ermittlen
Feature Request? Für was? Noch einfacher als die vonshadow hat geschrieben:Das wäre ein Feature Request wert, hab nämlich auch sowas paar mal gebrauchen können
marroh vorgeschlagene Lösung wird's wohl kaum gehen.
Grüße ... Kiffi
// Edit: Hier noch mal eine leicht abgewandelte Variante
Code: Alles auswählen
EnableExplicit
Procedure Main()
Protected.s sString
Restore label1
Repeat
Read.s sString
If sString = ""
Break
EndIf
Debug sString
ForEver
EndProcedure
Main()
End
DataSection
label1:
Data.s "String 1", "String 2", "String 3", ""
EndDataSection
a²+b²=mc²
Re: Ende eines Datablockes ermittlen
Für eine elegantere Syntax. Z. B. sowas hier:Feature Request? Für was? Noch einfacher als die von
marroh vorgeschlagene Lösung wird's wohl kaum gehen.
(wobei hier DataSection für die Datenzeile steht, also bis entweder ein neues Label kommt oder EndDataSection erreicht ist)
Code: Alles auswählen
EnableExplicit
Procedure Main()
Protected.s sString
Restore label1
Repeat
Read.s sString
Debug sString
until DataSectionEnd(label1)
EndProcedure
Main()
End
DataSection
label1:
Data.s "String 1", "String 2", "String 3", ""
EndDataSection
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)
Re: Ende eines Datablockes ermittlen
Butter bei die Fische...Für eine elegantere Syntax. Z. B. sowas hier:
Wenn man eine DataSection in seinem Programm hat, dann weiss man auch, was da drin steht.
Wie will man sie sonst auch einlesen ?
Ist ja nicht so das eine DataSection dynamisch wäre...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
Re: Ende eines Datablockes ermittlen
Ist ja gut, das war ja nur ein Gedanke.
Aber hey, sowas wie foreach für array-Elemente ist eigentlich auch unnötig, wird aber aus bequemlichkeit doch gemacht. Also, wo wird denn dann die Grenze gezogen was sinnvoll ist und was nicht?
Aber hey, sowas wie foreach für array-Elemente ist eigentlich auch unnötig, wird aber aus bequemlichkeit doch gemacht. Also, wo wird denn dann die Grenze gezogen was sinnvoll ist und was nicht?
ThinkPad T61 (in Gedenken) | PureBasic 4.61 B1 (32) | Windows 7 (32SP1) | ArchLinux (32) | Syllable (32)