Unicode Char Array

Für Fragen von Einsteigern und Programmieranfängern...
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Unicode Char Array

Beitrag von Warf »

Naja du könntest auch mit den Informationen die dir hier gegeben wurden mal googlen, z.B. nach dem Kommentar von Mathias:
Mathias hat geschrieben:
So 7. Mai 2023, 13:17
FPC macht mit fas allem mit.
Suche mal nach UTF16 oder Widestring.
könnte man mal ganz naiv "lazarus utf8 to widestring" googlen, wobei das erste Ergebnis der Unicode Support in Lazarus Wiki Artikel ist, der alle Informationen enthält die du brauchst, so steht da drin:
When a parameter type is WideString or UnicodeString, you can just pass a String to it. The compiler converts data automatically. There will be a warning about converting from AnsiString to UnicodeString which can be either ignored or suppressed by typecasting the String to UnicodeString.
Was genau deine Frage beantwortet. Das war grade weniger als 2 Minuten suchen mit den Informationen die du aus der zweiten Antwort in diesem Thread enrhalten hast. Wenn du nicht willens bist diesen minimalaufwand selbst zu betreiben, warum sollten wir dann willens sein diesen Aufwand für dich zu übernehmen?

Hier gibt es viele Leute die gerne helfen wenn du was nicht verstehst, aber du scheinst ja nicht Mal den Versuch zu unternehmen das Problem selbst zu lösen. Da wunder dich nicht wenn dir niemand die Lösung auf dem Silbertablett serviert

Atze
Beiträge: 10
Registriert: So 30. Apr 2023, 19:22

Re: Unicode Char Array

Beitrag von Atze »

Pascal macht das lässig mit, aber ob der Troll das kann, weiß ich nicht.
Nun, keiner weiß wie. Ich hab mal nachgeschaut. Pascal kann es nicht. Es kann keinen Unicode-String in ein numerisches Array umdeklarieren noch geht es umgekehrt. FPC sagt immer es kann kein Array lesen oder schreiben. Punkt.
Auf diese Idee sind die Entwickler nicht gekommen, obwohl das in Assembler einfach wäre. Tröste dich Pascal, du bist nicht allein in deiner Impotenz. Python kann es auch nicht. Da ist nichts mit 'lässig'.

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Unicode Char Array

Beitrag von Mathias »

Es kann keinen Unicode-String in ein numerisches Array umdeklarieren noch geht es umgekehrt. FPC sagt immer es kann kein Array lesen oder schreiben. Punkt.
Wen ich dich richtig verstehe, willst du ein Text, welcher in UTF16 ist, umwandeln, so das jedes Zeichen in einer int16 Array ist ?
Auf diese Idee sind die Entwickler nicht gekommen, obwohl das in Assembler einfach wäre.
Kennst du Move() von FPC ?
Hast du mal die Unit LazUTF16 angeguckt ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 168
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Unicode Char Array

Beitrag von Jorg3000 »

Hi!
Ein UnicodeString ist doch ähnlich einem Array, da kann man doch direkt den UnicodeString nehmen:

Code: Alles auswählen

var Wert16: Word;   // 16 Bit unsigned integer
     ws: UnicodeString;

ws:='Hallöööchen';

Wert16 := Word(ws[ArrayIndex+1]);  // ArrayIndex von 0 bis Length(ws)-1

// nachdem Wert16 geändert wurde ...

ws[ArrayIndex+1]:=WideChar(Wert16);

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6199
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Unicode Char Array

Beitrag von af0815 »

Atze hat geschrieben:
So 21. Mai 2023, 16:51
Auf diese Idee sind die Entwickler nicht gekommen, obwohl das in Assembler einfach wäre. Tröste dich Pascal, du bist nicht allein in deiner Impotenz. Python kann es auch nicht. Da ist nichts mit 'lässig'.
Ich nehme Atze nicht wirklich für voll, da wird nur herumgetrollt.
Wenn wer mit Assembler zufrieden ist, so soll er seinen Frieden haben. Dann aber nicht in einem reinen Pascalforum.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Unicode Char Array

Beitrag von Warf »

Atze hat geschrieben:
So 21. Mai 2023, 16:51
Es kann keinen Unicode-String in ein numerisches Array umdeklarieren noch geht es umgekehrt. FPC sagt immer es kann kein Array lesen oder schreiben. Punkt.
Schonmal was von pointer gehört?

Code: Alles auswählen

var
  Str: WideString;
  P: PWord;
  I: Integer;
Begin
  P := PWord(@str[1]);
  For i:=0 to Length(Str) - 1 do
    WriteLn(P[I]);
End;
Der direkte Cast geht nicht weil Strings und Arrays unterschiedliche dynamische gemanagte Typen sind, und da mehr Daten intern sind als einfach nur die Elemente (da hängt eine ganze eigene Datenstruktur davor).

Das ist übrigens nur eine von 4 Möglichkeiten die mir jetzt spontan eingefallen sind

Vielleicht solltest du erstmal die Grundlagen von Pascal lernen bevor du die Sprache kritisiert. Jedes Mal wenn du ankommst und meinst das Pascal etwas nicht kann, stellt sich heraus das du einfach keine Ahnung hast und Pascal genau das kann was du suchst.

Und das sind ganz grundlegende Sprachelemente. Pointer sind grundlegend für Pascal. Wenn du nicht darauf gekommen bist, dann sorry du verstehst einfach die absoluten Grundlagen der Pascal Programmierung nicht

Antworten