Lange Strings
-
- Registered: Apr 14, 2007
- Last visit: Jan 21, 2009
- Posts: 6
Hallo,
ich arbeite recht gerne mit nullterminierten Strings (z. B. Pchar). Nun ist in Sibyl dieser Datentyp zwar ganz gut implementiert. Aber für verschiedene Funktionen (Dateinamen, Grafikausgabe auf Canvas) wird ein PChar als Parameter nicht akzeptiert sondern es ist ein Pascal-String (mit Längenangabe zu Beginn) gefordert.
Nun kenne ich nicht alle Internas von OS2/eCS aber in den meisten Fällen ist es doch ohnehin so, dass das Betriebssystem selber nullterminierte Strings voraussetzt und der Compiler Pascal-Strings deshalb in nullterminierte sowieso vorher umsetzen muss.
Kann man wdSibyl nicht dahingehend leicht erweitern?
Thomas
-
- Registered: Dec 04, 2006
- Last visit: Dec 29, 2011
- Posts: 89
Hallo!
WDSibyl kann mit vielen Stringstypen arbeiten. z.b.
CString, PChar, String (Pascal-Konform), AnsiString.
Deswegen gibt es auch viele Funktionen, die eine bestimmte Gruppe verwalten kann.
Aber im großen und ganzen ist WDSibyl doch ein "alter" Pascal-Kompiler und dadurch gibt es eben auch diverse Einschränkungen.
Bei Dateinamen dürfte keine Probleme geben, da OS/2 (HPFS) nur 255 Zeichen verträgt.
Ich kenne zwar nicht alle Befehle, aber bei der Grafikausgabe fällt mir auch kein Funktion ein, bei der man mehr als 255 Zeichen braucht.
Gerade bei dem Befehl "Exec" (Unit DOS) stört es mich, dass man als Parameter nur 255 Zeichen eingeben kann, aber das Problem wird bei der nächsten Version gelöst sein, da ich gerade an einer Klasse programmiere (kommt in die Unit uSysClass hinein), die mehr als 255 Zeichen kann.
Bitte schicke mir die Befehle, bei der Du der Meinung bist, dass man mehr als 255 Zeichen braucht. Vielleicht finden wir eine nett Lösung dafür.
bye,
Wolfgang -
- Registered: Apr 14, 2007
- Last visit: Jan 21, 2009
- Posts: 6
Wunschfunktionen lange Strings:
Zuerst fällt mir da ShowMessage ein. Es geht mir da aber auch darum, wegen der Kompatibilität nullterminierte Strings in zB drawtext, assign und assignfile verwenden zu können. Ebenso betrifft das z.B. die Eigenschaften Text und Caption der sichtbaren Elemente.
Wie schon gesagt vermute ich, dass OS2 sowieso auf Systemebene nullterminiert arbeitet. Da wäre es schon insgesamt eine Vereinfachung, denn sonst müßte man (oder ich) vorhandene nullterminierte Strings (beispielsweise eine Button-Bezeichnung) wegen der Sprachkompatibilität in Pascal-Strings wandeln und der Compiler wandelt sie dann sowieso wieder zurück in nullterminierte für das Betriebssystem.
Zu den Dateinamen habe ich eine andere Meinung. Ein einzelner Dateiname kann sicher nur 255 Byte lang sein. Einschließlich tiefer verschachtelter Pfade und dem Laufwerksbuchstaben kann man da aber doch schnell an Grenzen stoßen.
Thomas
- Moderated by:
- Admins-Forum
Users on-line
- 0 users
This list is based on users active over the last 30 minutes.