Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа со строками (как удалить из строки рус.буквы) [D7, 2000]


Officeman ©   (2007-04-08 00:12:00) 

как удалить из строки рус.буквы

дана строка:  
  Телевизор Onida 21 Black DLX (+наушники) (54 см)

надо программа обработать что бы осталось:
  Onida 21 Black DLX (+) (54)


Officeman   (2007-04-08 18:31:00) [1]

ааа) это забыл  убрать


Loginov Dmitry   (2007-04-08 18:05:00) [2]

Зачем Length(str) - 1? Почему не Length(str) - 5 (к примеру)?


Officeman   (2007-04-08 17:38:00) [3]

//ps. я понимаю что это курс начинающего бойца. но всёже пусть будет. //может комунить пригодится:


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Button1: TButton;
   Edit2: TEdit;
   function strdelimeters(str:string):string;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
  i:integer;
implementation

{$R *.dfm}

function TForm1.strdelimeters(str:string):string;
begin
for i := 1 to Length(str) - 1 do
 begin
  if (str[i] in [' ','a'..'z','A'..'Z','0'..'9']) then begin
   Result := Result + str[i];
  end;
 end;
Result:=Trim(Result);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text:= strdelimeters(Edit1.Text);
end;

end.
<//code>


Officeman   (2007-04-08 17:32:00) [4]

ужо сделал.


procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
str,str2:string;
begin
str:=Edit1.Text;   // начальная строка

for i := 1 to Length(str) - 1 do
 begin
 if (str[i] in [' ','a'..'z','A'..'Z','0'..'9']) then begin
  str2 := str2 + str[i];
 end;
 end;
edit2.Text:=str2;   // результат
end;


Officeman   (2007-04-08 17:27:00) [5]

нужно чтобы пробелы тоже сохранились


Officeman   (2007-04-08 17:26:00) [6]

а ну да.
- 'на друга надейся а сам не плошай'


 if (str[i] in ['а..'а','А'..'Я']) then begin


тока у мня и пробелы тоже удаляются.
поправьте если что не так


Anatoly Podgoretsky   (2007-04-08 12:44:00) [7]

> {RASkov}  (08.04.2007 06:20:03)  [3]

Но откуда вывод, что они русские?


{RASkov}   (2007-04-08 07:25:00) [8]

Вообще-то ОРД :) D, почему-то, вперед R нажалось.... :)


{RASkov}   (2007-04-08 06:21:00) [9]

>=


{RASkov}   (2007-04-08 06:20:00) [10]

> [2] Officeman ©   (08.04.07 05:01)

Все что ODR(Ch)>127 все не англ.


Officeman   (2007-04-08 05:01:00) [11]

не могу определить русские буковки. подскажите.


Johnmen   (2007-04-08 00:37:00) [12]

Пробел тоже русская буква? :)
И что не можешь - удалить или определить?


Наверх

Титульная страница Поиск, карта сайта Написать письмо