Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#10

AW: Hallo suche Hilfe auf Stundenbasis in Ludwigsburg Delphi XE5

  Alt 12. Jan 2021, 15:01
UnicodeProblem:
Ja, erstmal ist "String" (nicht der Typ "String[123]") seit Delphi 2009 ein Alias für einen UnicodeString und vorher war er es für AnsiString.
Aber der Typ "String[123]" ist und war immer ANSI.



Was bedeutet Ansistring;{STRING[255];} ?

Es was mal String[255] und ist jetzt AnsiString?

String/AnsiString/UnicodeString sind "LongStrings", was "intern" ein Zeiger auf einen String ist,
also im Record oder den Parametern mit diesem Typen ist immer nur ein "Pointer" drin.

Beim Typen String[123] ist es aber ein "ShortString", was "intern" ein Record/StatischesArray ist, also da wo dieser Typ drin ist, dort sind die Chars direkt drin. (und ich wette, es war beim Record TFlrKopf und den Parametern, für die DLL-Schnittstelle, auch absichtlich so)




PS: statt if StringIstLeer(HStr) then kann man auch if Trim(HStr) = 'then verwenden
und statt if Pos(...) = 1 then würde ich heutzutage eher Delphi-Referenz durchsuchenStartsStr empfehlen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Jan 2021 um 15:08 Uhr)
  Mit Zitat antworten Zitat