Naja, nochmal von vorne
1. Wenn man ein Projekt frisch anfängt, sollte man gleich
Unicode in Betracht ziehen, und dafür z.B. die TNTWare Controls (edit: wie Bernhard gerade sagte).
2. Wenn man ein bestehendes Projekt mit Komponenten, die es nur in
ANSI gibt, umstellt (übrigens aus genau diesem Grund hab ich mir die LMDTools nie angetan, war mir zu unsicher, ob die mal
Unicode können würden), geht es auch per
ANSI.
Was ich mit dem TMemo meinte, völlig ohne
Unicode-Komponenten:
- Neues Projekt erstellen
- TMemo hinzufügen
- Memo1.Font.Charset = RUSSIAN_CHARSET;
- Knopf hinzufügen, der Memo1.Lines.SaveToFile('c:\meinrussisch.txt'); macht.
- Mit dem Mini-Programm speicherst Du dann einfach eine Textdatei, die Du später auch OHNE Unicode-Konvertierungen oder Controls umwandeln kannst, in der Dein Codeschnipsel von vorhin einfahc mit Label1.Font.Charset := RUSSIAN_CHARSET; Label1.Caption := myList[0]; enden würde.
Womit ich jetzt nicht sagen will, daß eine rein Textdatei als TStringList ausgelesen wirklich geeignet wäre, aber als Ansatz zum Lernen kannst Du das ja mal versuchen.
Kurze Erklärung zu Codepages: normale strings in Pascal bestehen aus normalen chars. Ein Char kann halt maximal 256 verschiedene Zeichen abbilden, das reicht natürlich nicht für alle Alphabete der Welt
Also hat man unterschiedliche Bedeutungen für die einzelnen Zeichen erfunden - Zeichen #65 ist auf "Standard"-Codepages (englisch, deutsch um es vereinfacht zu sagen) immer das kleine 'a', auf russichen Codepages immer das Zeichen für Vodka (letzeres natürlich nur erfunden, leider kenn ich keine echten russischen Buchstaben
).
@Bernhard Geyer: und leider werben Sie trotzdem groß mit
Unicode-Unterstützung, meinen damit aber nur die
IDE