:: 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;
|
При использовании материала - ссылка на сайт обязательна
|
|