Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2009, 02:31   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
var ss : TStringList;
 Dest1, Dest2 : string;
for i:=0 to ss.Count-1 do begin
    Divide(ss.string[i];Dest1,Dest2);
     // что делаем с Dest1, Dest2
end;
Обратите внимание!! в TStringList нумерация строк идёт от нуля!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.08.2009, 02:33   #12
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

там помоему есть ошибка
ss.string[i-1];Dest
кажется надо так
ss.strings[i-1];Dest
DeDoK вне форума Ответить с цитированием
Старый 08.08.2009, 02:37   #13
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

на этот код
Код:
procedure TMainForm.BitBtn1Click(Sender: TObject);
var
Dest1, Dest2 : string;
ss : TStringList;
i:integer;
begin
if FileEdit.Text='' then begin
ShowMessage('Не загружен список!!!');
exit;
end else begin
ss:=TStringList.Create;
ss.LoadFromFile(FileEdit.Text);
for i:=1 to ss.Count-1 do 
Divide(ss.string[i];Dest1,Dest2);
end;
выдает следующее
[Error] MainUnit.pas(97): Not enough actual parameters
DeDoK вне форума Ответить с цитированием
Старый 08.08.2009, 02:38   #14
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
var ss : TStringList;
 Dest1, Dest2 : string;
for i:=0 to ss.Count-1 do begin
    Divide(ss.string[i];Dest1,Dest2);
     // что делаем с Dest1, Dest2
end;
Обратите внимание!! в TStringList нумерация строк идёт от нуля!
И Вы обратите внимание:
Цитата:
Сообщение от TwiX Посмотреть сообщение
Поправка:
for i:=0 to ss.Count-1 do Divide(ss.string[i-1];Dest1,Dest2);

=)

Последний раз редактировалось TwiX; 08.08.2009 в 02:40.
TwiX вне форума Ответить с цитированием
Старый 08.08.2009, 02:40   #15
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Цитата:
Сообщение от DeDoK Посмотреть сообщение
на этот код
Код:
procedure TMainForm.BitBtn1Click(Sender: TObject);
var
Dest1, Dest2 : string;
ss : TStringList;
i:integer;
begin
if FileEdit.Text='' then begin
ShowMessage('Не загружен список!!!');
exit;
end else begin
ss:=TStringList.Create;
ss.LoadFromFile(FileEdit.Text);
for i:=1 to ss.Count-1 do 
Divide(ss.string[i];Dest1,Dest2);
end;
выдает следующее
[Error] MainUnit.pas(97): Not enough actual parameters
Код:
procedure TMainForm.BitBtn1Click(Sender: TObject);
var
Dest1, Dest2 : string;
ss : TStringList;
i:integer;
begin
if FileEdit.Text='' then begin
ShowMessage('Не загружен список!!!');
exit;
end else begin
ss:=TStringList.Create;
ss.LoadFromFile(FileEdit.Text);
for i:=0 to ss.Count-1 do 
Divide(ss.strings[i];Dest1,Dest2);
end;
Если всё ругается, то проверьте Divide...
TwiX вне форума Ответить с цитированием
Старый 08.08.2009, 02:41   #16
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

DeDok
вот полностью РАБОЧИЙ код (пример):
Код:
procedure Divide(Sourse:string;var Dest1,Dest2:string);
begin
 Dest1:=Copy(Sourse,1,Pos(';',Sourse)-1);
 Delete(Sourse,1,Pos(';',Sourse));
 Dest2:=Sourse;
end;

procedure TForm1.Button1Click(Sender: TObject);
var ss : TStringList;
 sVar1, sVar2 : string;
 i : integer;
begin
  ss := TStringList.Create;
  ss.Add('xxx;yyy');
  ss.Add('xxxxxxxxx;yyyy');
  ss.Add('x333333;y3');
  for i:=0 to ss.Count-1 do begin
    Divide(ss.Strings[i],sVar1,sVar2);
     // что делаем с sVar1, sVar2
     // например, показываем :)
     Application.MessageBox(
       Pchar('Переменная 1 = '+sVar1+chr(13)+
       'Переменная 2 = '+sVar2),
       'Отладка', MB_ICONINFORMATION or MB_OK);
  end;
  FreeAndNil(ss);
end;
___________________________________ _
TwiX, конечно обратил.
пока я писал, Вы уже запостить успели
разница в три минуты
мне стереть свой пост?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.08.2009, 02:42   #17
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а просто ss[i] никак?
Дедок, извини, просто список не заметил, а потом шарился в иных темах.
Твикс, вообще то разделитель параметров это ,
------------------------------------------
ну тут вроде доделали
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 08.08.2009 в 02:44.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.08.2009, 02:47   #18
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

Serge_Bliznykov, все круто) но один маленький вопрос) это вечный цикл получается. т.е дошли до конца и тут же возвращаемся на начало. как его остановить в конце?
DeDoK вне форума Ответить с цитированием
Старый 08.08.2009, 02:49   #19
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Там вроде нет циклов... Только for до ss.count-1, который не иизменяется
TwiX вне форума Ответить с цитированием
Старый 08.08.2009, 02:50   #20
DeDoK
Форумчанин
 
Аватар для DeDoK
 
Регистрация: 05.11.2007
Сообщений: 392
По умолчанию

ой) сорри) тупанул. у меня
for i:=1 to ss.Count-1 do begin было написано
DeDoK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Действия над массивами hen Помощь студентам 2 06.06.2009 23:34
DB.access арифм. действия kzmd БД в Delphi 13 04.02.2009 12:21
Действия с массивами Domik92 Паскаль, Turbo Pascal, PascalABC.NET 2 09.12.2008 13:15
Завершение действия SunKnight Общие вопросы Delphi 3 12.02.2008 18:25