Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Вниз

Работа со строками   Найти похожие ветки 

 
Gorn   (2003-07-20 11:26) [0]

На форме есть три Edit"a. В первый вводятся слова через черточку. Например: Петров-Водкин. Как в Edit2 получить "Петров", а в Edit3 - "Водкин". Спасибо.


 
Романов Р.В.   (2003-07-20 11:29) [1]

F1 - Pos, Copy


 
Gorn   (2003-07-20 13:50) [2]

Петрова получил, а как получить Водкина не соображу. Подскажите.
procedure TForm1.Button1Click(Sender: TObject);
var
n:integer;
s:string;
begin
s:=Edit1.Text;
n:=length(s);
Edit2.Text:="";
Edit3.Text:="";
for n:=1 to n do
begin
if S[n]<>"-" then
begin
Edit2.Text:=Edit2.Text+Edit1.Text[n];
end
else
exit
end;
end;


 
Immortal_Death   (2003-07-20 14:14) [3]

да просто....

procedure TForm1.Button1Click(Sender: TObject);
var
n:integer;
s:string;
begin
s:=Edit1.Text;
n:=length(s);
Edit2.Clear;
Edit3.Clear;
for n:=1 to n do
begin
if S[n]<>"-" then
begin
Edit2.Text:=Edit2.Text+Edit1.Text[n];
end else
begin
Delete(S, 1, n);
Edit3.Text := S;
exit;
end;
end;
end;

Кстати способов груда...


 
Anatoly Podgoretsky   (2003-07-20 14:16) [4]

Водкин начинается сразу за символом "-"
Потом тебе сказали испольсзоват pos/copy или нет?


 
Goblinus   (2003-07-20 14:30) [5]

Да ужжж....

procedure TForm1.Button1Click(Sender: TObject);
var
P: Integer;
S: String;
begin
S := Edit1.Text;
P := Pos("-", S);
if P > 0 then
begin
Edit2.Text := Copy(S, 1, P - 1);
Edit3.Text := Copy(S, P + 1, Length(S));
end;
end;


И непонятно, зачем это в цикле делать.


 
Rouse_   (2003-07-20 14:35) [6]

При больших объемах обычно используют StringReplase и свойство Text класса TStringList

К примеру имеется слово - Петров-Водкин-Сидоров-Селедкин

Решение:
procedure TForm1.Button1Click(Sender: TObject);
var
S: TStringList;
begin
S := TStringList.Create;
S.Text := StringReplace(Edit1.Text, "-", #13#10, [rfReplaceAll]);
with S do
begin
Edit2.Text := Strings[0];
Edit3.Text := Strings[1];
Edit4.Text := Strings[2];
Edit5.Text := Strings[3];
end;
S.Free;
end;


Желаю успехов


 
Immortal_Death   (2003-07-20 14:36) [7]

да, с пос/копи будет куда короче :)

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=Edit1.Text;
Edit2.Text := copy(S, 1, pos("-", s)-1);
Edit3.Text := copy(S, pos("-", s)+1, Length(S));
end;



 
Gorn   (2003-07-20 14:53) [8]

Вот это да! А я мучился пол-дня. Всем большое спасибо!


 
Gorn   (2003-07-20 15:13) [9]


> Rouse_ © (20.07.03 14:35)

Что-то не хочет работать твой код. Первое слово выделяет, а остальное все валит в Edit2


 
Rouse_   (2003-07-20 15:21) [10]

В Edit1.Text должно находиться - "Петров-Водкин-Сидоров-Селедкин" (без кавычек)
На форме расположи еще четыре Edit и кнопку.
В обработчике кнопки OnClick запиши мой код.
Запусти приложение, нажми кнопку, удивись... все работает :))

Желаю успехов


 
Gorn   (2003-07-20 15:34) [11]


> Rouse_ © (20.07.03 15:21)

Извиняюсь, тормознул..



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-10226
непомнююююю
2003-07-20 02:40
2003.08.04
Drag n Drop формы


3-10078
Fast
2003-07-11 12:30
2003.08.04
ADO Post


1-10224
LedWorm
2003-07-20 21:42
2003.08.04
Как узнать кол-во файлов в папке ?


4-10528
mod
2003-06-03 16:56
2003.08.04
Раскладка клавиатуры


1-10167
Spawn
2003-07-22 19:08
2003.08.04
Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский