11. Oktober 2006 16:53
// Wandelt Datei von ASCII in ANSI um
TempDateiName := 'c:\temp.txt';
// Quellendatei temporär umbenennen und öffnen
IF EXISTS(TempDateiName) THEN
ERASE(TempDateiName);
IF NOT RENAME(_Dateiname,TempDateiName) THEN
ERROR('Datei %1 konnte nicht umbenannt werden.',_Dateiname);
Quellendatei.TEXTMODE := FALSE;
Quellendatei.WRITEMODE := FALSE;
Quellendatei.OPEN(TempDateiName);
// Zieldatei vorbereiten mit Original-Name
Zieldatei.TEXTMODE := FALSE;
Zieldatei.WRITEMODE := TRUE;
Zieldatei.CREATE(_Dateiname);
// Quellendatei zeichenweise lesen und neu schreiben
WHILE Quellendatei.READ(Z) = 1 DO BEGIN
CASE Z OF
132: Z := 228; // ä ASCII=Alt132, ANSI = Alt0228
142: Z := 196; // Ä
131: Z := 226; // â
133: Z := 224; // à
160: Z := 225; // á
134: Z := 229; // å
143: Z := 197; // Å
145: Z := 230; // æ
146: Z := 198; // Æ
128: Z := 199; // Ç
135: Z := 231; // ç
130: Z := 233; // é
136: Z := 234; // ê
137: Z := 235; // ë
138: Z := 232; // è
144: Z := 201; // É
139: Z := 239; // ï
140: Z := 238; // î
141: Z := 236; // ì
161: Z := 237; // í
148: Z := 246; // ö
153: Z := 214; // Ö
147: Z := 244; // ô
149: Z := 242; // ò
162: Z := 243; // ó
129: Z := 252; // ü
154: Z := 220; // Ü
150: Z := 251; // û
151: Z := 249; // ù
163: Z := 250; // ú
164: Z := 241; // ñ
165: Z := 209; // Ñ
152: Z := 255; // ÿ
156: Z := 163; // £
157: Z := 248; // ø
END;
Zieldatei.WRITE(Z);
END;
Quellendatei.CLOSE;
IF NOT ERASE(TempDateiName) THEN
ERROR('Temporäre Datei %1 konnte nicht gelöscht werden.',TempDateiName);
11. Oktober 2006 17:27
Zielwert[1] := 196;
Zielwert[2] := 214;
Zielwert[3] := 220;
Zielwert[4] := 228;
Zielwert[5] := 246;
Zielwert[6] := 252;
Zielwert[7] := 223;
Zielwert[8] := 233;
Zielwert[9] := 225;
Zielwert[10] := 181;
EXIT(CONVERTSTR(ANSItext,'ÄÖÜäöüßéáµ',Zielwert));
Beschreibung := DOS2ANSI(Beschreibung);
11. Oktober 2006 18:44
Marco hat geschrieben:Leider hier nicht brauchbar, da die erforderlichen Lizenzen fehlen(kann keine CodeUnits erstellen).
11. Oktober 2006 18:50
11. Oktober 2006 19:48
12. Oktober 2006 08:26
12. Oktober 2006 08:35
Ansi2Ascii(_String : Text[250]) _Output : Text[250]
Ascii2Ansi(_String : Text[1024]) : Text[1024]
12. Oktober 2006 10:41
convert.Ascii2Ansi(text);
datei.CREATE('C:\test2.txt');
datei.WRITE(text)
12. Oktober 2006 10:57
Marco hat geschrieben:Ach, programmieren ist nicht mein ding
Marco hat geschrieben:Jetzt müsste doch theoretisch der konvertierte Text in die Variable "Text geschrieben werden, oder?
Die Datei bleibt aber leider leer... Weiss jemand, worans liegen könnte?
KonvertierterText := convert.Ascii2Ansi(text);
12. Oktober 2006 11:33
Marco hat geschrieben:Kowa: Bei deinem Beispiel kommt immer, := kann nicht auf Arrays ausgeführt werden. Hab aber noch nicht gross herumprobiert
12. Oktober 2006 12:21
12. Oktober 2006 12:47
12. Oktober 2006 12:53
Marco hat geschrieben:Vielen Dank an Kowa, rotsch und Timo für eure Hilfe! Habe noch kein Forum vergeichbarer Qualität im Computerbereich gefunden. Normalerweise drehen sich 50% der Antworten um was anderes oder sind dumme Bemerkungen über Rechtschreibfehler.
12. Oktober 2006 13:11
12. Oktober 2006 13:27
EXIT();
12. Oktober 2006 18:34
Solche Foren kenne ich leider auch zugenüge und bin wirklich froh, dass hier ein so guter Zusammenhalt herrscht, wo jeder gerne dem Anderen hilft bzw. sich enthält, falls er/sie keinen Tipp beisteuern kann.Marco hat geschrieben:[...]
Vielen Dank an Kowa, rotsch und Timo für eure Hilfe! Habe noch kein Forum vergeichbarer Qualität im Computerbereich gefunden. Normalerweise drehen sich 50% der Antworten um was anderes oder sind dumme Bemerkungen über Rechtschreibfehler.
Gruess Marco
6. Februar 2007 14:16
rotsch hat geschrieben:Ich nehme an, du verwendest eine CH-DB. Da müsste es die Codeunit 11501 GeneralMgt geben mit CH-Erweiterungen für Ansi2Ascii und Ascii2Ansi.
6. Februar 2007 14:56
6. Februar 2007 15:16
6. Februar 2007 15:19
Ansi2Ascii(_String : Text[250]) _Output : Text[250]
// Converts from ANSI to ASCII
FOR i := 1 TO STRLEN(_String) DO BEGIN
Z := _String[i];
CASE Z OF
// Convert special chars in ASCII
228: Z := 132; // ä ANSI=Alt0228, ASCII=Alt132
196: Z := 142; // Ä
226: Z := 131; // â
224: Z := 133; // à
225: Z := 160; // á
229: Z := 134; // å
197: Z := 143; // Å
230: Z := 145; // æ
198: Z := 146; // Æ
199: Z := 128; // Ç
231: Z := 135; // ç
233: Z := 130; // é
234: Z := 136; // ê
235: Z := 137; // ë
232: Z := 138; // è
201: Z := 144; // É
239: Z := 139; // ï
238: Z := 140; // î
236: Z := 141; // ì
237: Z := 161; // í
246: Z := 148; // ö
214: Z := 153; // Ö
244: Z := 147; // ô
242: Z := 149; // ò
243: Z := 162; // ó
252: Z := 129; // ü
220: Z := 154; // Ü
251: Z := 150; // û
249: Z := 151; // ù
250: Z := 163; // ú
241: Z := 164; // ñ
165: Z := 209; // Ñ
255: Z := 152; // ÿ
163: Z := 156; // £
248: Z := 157; // ø
END;
_String[i] := Z;
END;
EXIT(_String);
Ascii2Ansi(_String : Text[1024]) : Text[1024]
// Converts from ASCII to ANSI
FOR i := 1 TO STRLEN(_String) DO BEGIN
Z := _String[i];
CASE Z OF
// Convert special chars in ANSI
132: Z := 228; // ä ASCII=Alt132, ANSI = Alt0228
142: Z := 196; // Ä
131: Z := 226; // â
133: Z := 224; // à
160: Z := 225; // á
134: Z := 229; // å
143: Z := 197; // Å
145: Z := 230; // æ
146: Z := 198; // Æ
128: Z := 199; // Ç
135: Z := 231; // ç
130: Z := 233; // é
136: Z := 234; // ê
137: Z := 235; // ë
138: Z := 232; // è
144: Z := 201; // É
139: Z := 239; // ï
140: Z := 238; // î
141: Z := 236; // ì
161: Z := 237; // í
148: Z := 246; // ö
153: Z := 214; // Ö
147: Z := 244; // ô
149: Z := 242; // ò
162: Z := 243; // ó
129: Z := 252; // ü
154: Z := 220; // Ü
150: Z := 251; // û
151: Z := 249; // ù
163: Z := 250; // ú
164: Z := 241; // ñ
165: Z := 209; // Ñ
152: Z := 255; // ÿ
156: Z := 163; // £
157: Z := 248; // ø
END;
_String[i] := Z;
END;
EXIT(_String);
6. Februar 2007 15:26
6. Februar 2007 15:48
6. Februar 2007 16:32
6. Februar 2007 16:49
6. Februar 2007 17:22