Ich habe eine Anwendung von Delphi 2007 auf Delphi 2010 aktualisiert, alles gut ging, mit einer Ausnahme Aussage, dass fein kompilierte aber nicht funktioniert, das ist:CharInSet funktioniert nicht mit nicht englischen Buchstaben?
If Edit1.Text[1] in ['S','س'] then
ShowMessage('Found')
else
ShowMessage('Not Found')
Allerdings wusste ich, dass in werde nicht, also habe ich zu CharInSet
If CharinSet(Edit1.Text[1],['S','س']) then
ShowMessage('Found')
else
ShowMessage('Not Found')
aber es hat nie funktioniert, wenn die Zeichenfolge س
ist, aber immer mit S
arbeiten, auch ich warf die edt1.Text 1 mit AnsiChar es immer nicht arabische Buchstaben arbeiten.
Bin etwas falsch gemacht, oder es ist nicht die Art und Weise CharInSet
funktioniert ?, oder das ist ein Fehler in CharinSet
?
UPDATE:
mein großer Freund Issam Ali eine andere Lösung vorgeschlagen hat, die als es gut gearbeitet hat:
If CharinSet(AnsiString(edt1.Text)[1],['S','س']) then
Welche Art ist 'edt1'? – dan04
@ dan04, es ist TEdit, ich habe den Code ändern, um es als edit anstelle von edt anzuzeigen –
Der Compiler gibt die folgende Warnung mit Ihrem CharInSet-Code: [DCC-Warnung] Unit5.pas (30): W1061 Verengung gegeben WideChar konstant (# $ 0633) zu AnsiChar verlorene Informationen –