Форум: "Основная";
Текущий архив: 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