Цитата:
Сообщение от AlphaOmega
могу пример дать
|
|
15.02.2006, 19:08 | #10093 | |
Он иногда здесь!!.
Регистрация: 17.10.2005
Адрес: Moscow
Сообщения: 1,518
|
Цитата:
__________________
[ Правила форума | Правила загрузки изображений | .:vault:. ] |
|
15.02.2006, 19:38 | #10101 |
Терминатор
Регистрация: 20.01.2006
Адрес: Скайнет, 2029 год
Сообщения: 32
|
Значит вот образец функции
p.s.: могут быть ошибки в синтаксисе иби я пишу вообще на С++, а дельфи знаю постольку-поскольку... Код:
function RUStoLAT(symbol: Char): Char; var Result: Char; begin if symbol = 'a' then Result = 'a'; if symbol = 'б' then Result = 'b'; if symbol = 'в' then Result = 'v'; ... (сюда остальные буквы) if symbol = 'э' then Result = 'e'; if symbol = 'ю' then Result = 'yu'; if symbol = 'я' then Result = 'ya'; end; ну а дальше в любом месте (где надо): var Russian, Translit : string; (исходная и конечная строки) непосредственно обработка текста: var i : Integer; begin Translit := Russian; for i := 0 to (Length(Russian) - 1) do Translit[i] := RUStoLAT(Russian[i]); end; если что - могу написать ПРАВИЛЬНО на С++, а потом другие мемберы форума могут просто перевести это на правильный дельф
__________________
|
23.02.2006, 18:42 | #10442 |
Старожила
Регистрация: 17.10.2005
Адрес: где то в степях Ярославщины
Сообщения: 399
|
Относительно последнего вопроса... Rus2Lat можно сделать и так:
Код:
unit Unit1; interface uses SysUtils,Forms,Dialogs,StdCtrls,Controls,Classes; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function rus2lat(data:string):string; var a: array [1..30] of string; i,L,j,k:byte; Rus,Lat,sout:string; begin sout:=''; L:=Length(data); Rus:='абвгдежзиклмнопрстуфхю'; //собственно эти строки и служат Lat:='abvgdegziklmnoprstyfhu'; //для перевода RUS символов в ENG for i:=1 to L do begin for j:=1 to 23 do if data[i]=Rus[j] then a[i]:=Lat[j] else if AnsiLowerCase(data[i])=Rus[j] then a[i]:=AnsiUpperCase(Lat[j]); end; for k:=1 to L do sout:=sout+a[k]; Rus2Lat:=sout; end; procedure TForm1.Button1Click(Sender: TObject); begin label1.Caption:=rus2lat(Edit1.Text); end; end.
__________________
|
Здесь присутствуют: 1 (пользователей - 0 , гостей - 1) | |
|
|