Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.08.2010, 18:57
Аватар для RoboStudent
RoboStudent RoboStudent вне форума
Прохожий
 
Регистрация: 05.08.2010
Адрес: Москва
Сообщения: 16
Репутация: 10
По умолчанию ExtractStrings и Memo

Доброго времени суток.
Ближе к делу. Процедура такова:
Считываем построчно содержимое Memo1 вида

1|100|150|1
1|100|170|0

и так далее. Разбиваем с помощью ExtractStrings строки, убирая знак "|".
Получаем 4 переменные, которые используются далее.
Проблема в следующем - если в Memo1 более одной строки, ругается не известно на что.
Просто пишет адрес памяти по которому ошибка. Я уже и типы крутил (ExtractStrings PChar хочет. String ему не нравится).
Думал, что может он #13#10 видит и не знает куда девать его.
В общем, вот код, подскажите пожалуйста, если кому не сложно.
PHP код:
procedure TForm1.Button4Click(SenderTObject);
var
  
slTStringList;
  
i,pauinteger;
  
tempPAnsiChar;
begin
  sl
:=TStringList.Create;
  for 
i:=0 to memo2.Lines.Count-do // -1, так как в Memo лишняя строка пустая вечно появляется
  
begin
  temp
:=pchar(memo2.Lines[i]);
    try 
ExtractStrings(['|'],[' '],temp,sl); //вот и разбивка
      
if sl[0]=('1'then begin //при отладке матерится именно на эту строку
        
if CheckBox2.Checked=True then begin Application.ProcessMessages(); end;
        
pau:=strtoint(sl[3]);
        if 
pau 0 then begin
          memo1
.Lines.Add('['+timetostr(now)+'] Pause '+inttostr(pau)+' sec.');
          
sleep(pau*1000);
        
end;
        
dothis(strtoint(sl[1]),strtoint(sl[2])); //моя функция, с ней всё хорошо
      
end;
    
finally
      sl
.Free;
    
end;
  
end;
end
Ответить с цитированием
  #2  
Старый 05.08.2010, 19:11
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

sl:=TStringList.Create;
перемести перед try
Ответить с цитированием
  #3  
Старый 05.08.2010, 19:23
Аватар для RoboStudent
RoboStudent RoboStudent вне форума
Прохожий
 
Регистрация: 05.08.2010
Адрес: Москва
Сообщения: 16
Репутация: 10
По умолчанию

Спасибо, дружище! Моя ошибка. И еще пару нашел
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter