Oldal: 1 / 1

Ékezetes karakterek cseréje

Elküldve: 2016.09.27. 10:12
Szerző: berkesi33
Sziasztok,
Delphi programozással kapcsolatban szeretnék ismét segítséget kérni. A feladat, hogy egy szöveges változóban az ékezetes karaktereket le kell cserélni nem ékezetesekre. Webes fájlnevek generálásához szükséges.

Re: Ékezetes karakterek cseréje

Elküldve: 2016.09.27. 12:55
Szerző: gaborg
Az alábbi függvény kicseréli az ékezetes karaktereket:

Kód: Egész kijelölése

function del_ekezet(source: String): String;
const
   Alpha = ['0'..'9', 'A'..'Z', 'a'..'z', '_'];

   function IsValidChar(AChar: Char): Boolean;
   begin
      Result := AChar in Alpha
   end;

var
   i: Integer;
begin
   source := StringReplace(Trim(source),' ','_',[rfReplaceAll]);
   Result := '';
   for i := 1 to Length(source) do
      If IsValidChar(source[i]) then Result := Result + source[i] else begin
         Case Ord(source[i]) of
            225: Result := Result + 'a';
            193: Result := Result + 'A';
            233: Result := Result + 'e';
            201: Result := Result + 'E';
            237: Result := Result + 'i';
            205: Result := Result + 'I';
            243,246,245: Result := Result + 'o';
            211,214,213: Result := Result + 'O';
            250,252,251: Result := Result + 'u';
            218,220,219: Result := Result + 'U';
         end;
      end;
end;