Главная страница
    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.012 c
14-10391
Alex_x
2003-07-17 10:28
2003.08.04
FTP сервер


1-10280
Goblinus
2003-07-22 02:19
2003.08.04
Глюки TPanel


1-10184
race1
2003-07-22 14:52
2003.08.04
прозрачность TGraphicControl а


4-10506
SeNtiMeL
2003-06-01 19:42
2003.08.04
Как TEdit другого приложения присвоить текст и послать ENTER


4-10495
Плохой человек
2003-05-29 17:35
2003.08.04
Mouse Pointer Speed





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский