|
:: MVP ::
|
|
|
:: RSS ::
|
|
|
Как перевести строку в верхний регистр?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := UpperCase(Caption);
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := AnsiUpperCase(Caption);
end;
// Способ третий
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := AnsiUpper(PChar(Caption));
end;
|
Как перевести строку в нижний регистр?
// Способ первый
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := LowerCase(Caption);
end;
// Способ второй
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := AnsiLowerCase(Caption);
end;
// Способ третий
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := AnsiLower(PChar(Caption));
end;
|
Как скопировать часть строки?
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := 'Часть этой строки будет скопирована';
ShowMessage(Copy(s, 1, 17));
end;
|
Как удалить часть строки?
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := 'Часть этой строки будет удалена';
Delete(s, 18, Length(s));
ShowMessage(s);
end;
|
Как объединить две строки типа PChar?
procedure TForm1.Button1Click(Sender: TObject);
var
p1, p2: PChar;
s: string;
begin
GetMem(p1, 9 * SizeOf(Char));
GetMem(p2, 14 * SizeOf(Char));
StrPCopy(p1, 'Delphi 6');
StrPCopy(p2, ' Professional');
StrCat(p1, p2);
s := p1;
ShowMessage(s);
FreeMem(p1);
end;
|
Как перевести в верхний регистр символ русского алфавита?
function UpCaseRus(ch: Char): Char;
asm
cmp al, 'a'
jb @@exit
cmp al, 'z'
ja @@Rus
sub al, 'a' - 'A'
ret
@@Rus:
cmp al, 'я'
ja @@Exit
cmp al, 'а'
jb @@yo
sub al, 'я' - 'Я'
ret
@@yo:
cmp al, 'ё'
jne @@exit
mov al, 'Ё'
@@exit:
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(UpCaseRus('ё'));
end;
|
Как перевести в нижний регистр символ русского алфавита?
function LoCaseRus(ch: Char): Char;
asm
cmp al, 'A'
jb @@exit
cmp al, 'Z'
ja @@Rus
add al, 'a' - 'A'
ret
@@Rus:
cmp al, 'Я'
ja @@Exit
cmp al, 'А'
jb @@yo
add al, 'я' - 'Я'
ret
@@yo:
cmp al, 'Ё'
jne @@exit
mov al, 'ё'
@@exit:
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(LoCaseRus('Ё'));
end;
|
Как перекодировать строку Oem (DOS 866) в Ansi (Win1251) и обратно?
// Способ первый
// Конвертирует строку из кодировки Windows в DOS кодировку
function WinToDos(const s: string): string;
begin
SetLength(Result, Length(s));
if Length(s) <> 0 then
CharToOem(PChar(s), PChar(Result));
end;
// Конвертирует строку из кодировки DOS в Windows кодировку
function DosToWin(const s: string): string;
begin
SetLength(Result, Length(s));
if Length(s) <> 0 then
OemToChar(PChar(s), PChar(Result));
end;
// Способ второй
// Конвертирует строку из кодировки Windows в DOS кодировку
function WinToDos(const s: string): string;
var
b: TBytes;
begin
b := BytesOf(s);
b := TEncoding.Convert(TEncoding.GetEncoding(1251), TEncoding.GetEncoding(866), b);
Result := StringOf(b);
end;
// Конвертирует строку из кодировки DOS в Windows кодировку
function DosToWin(s: string): string;
var
b: TBytes;
begin
b := BytesOf(s);
b := TEncoding.Convert(TEncoding.GetEncoding(866), TEncoding.GetEncoding(1251), b);
Result := StringOf(b);
end;
|
|
При использовании материала - ссылка на сайт обязательна
|
|