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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2011, 19:48   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию Контроль данных у переменных при отладке...

всем доброго времени суток!

Перейду к ньюансу:

Допустим, есть цикл по списку строк:
Код:
var 
 ts:TstringList;
 i:Integer;
begin
 Ts:=TStringList.Create;
  try 
  Ts.LoadFromFile(ExtractFilePath(ParamStr(0))+'File.txt');
  For i:=0 to ts.count -1 do
  begin
  Ts.Strings[i]:='trollface';
  end;
  finally 
   FreeAndNil(ts);
  end;
end;
Как узнать что содержит:
Код:
Ts.Strings[i]
ДО того момента как этой строке присвоится:
Код:
  Ts.Strings[i]:='trollface';
Я обычно прибегаю к такому методу:
Код:
var 
 ts:TstringList;
 i:Integer;
s:string;
begin
 Ts:=TStringList.Create;
  try 
  Ts.LoadFromFile(ExtractFilePath(ParamStr(0))+'File.txt');
  For i:=0 to ts.count -1 do
  begin
  s:=Ts.Strings[i];
  Ts.Strings[i]:='trollface';
  end;
  finally 
   FreeAndNil(ts);
  end;
end;
и тогда под отладчиком уже вижу что содержится в переменной s. Но хотелось бы не делать так, а сразу получать данные из
Код:
Ts.Strings[i];
Потому что, напишешь новый метод, а его ещё нужно отладить. Он плохо работает. Нужно узнать что творится в цикле(не обязательно). А для того чтобы узнать, нужно вырубить отладчик, и повтыкать вот таких переменных, целый вагон, по всему коду метода. Трата времени=(

Последний раз редактировалось Человек_Борща; 02.07.2011 в 20:01.
Человек_Борща вне форума Ответить с цитированием
Старый 02.07.2011, 23:02   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

хм, в Делфи в наблюдателях, ставите наблюдение и должно показать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.07.2011, 17:22   #3
HyperZen
Пользователь
 
Аватар для HyperZen
 
Регистрация: 20.07.2010
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
хм, в Делфи в наблюдателях, ставите наблюдение и должно показать.
Пользуйтесь командой Run/Add Watch (или CTRL+F5)...
Плохого человека должно быть мало...
HyperZen вне форума Ответить с цитированием
Старый 03.07.2011, 17:25   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я про нее и говорил
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.07.2011, 17:34   #5
HyperZen
Пользователь
 
Аватар для HyperZen
 
Регистрация: 20.07.2010
Сообщений: 45
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
я про нее и говорил
Я понял, я просто конкретизировал.
Плохого человека должно быть мало...
HyperZen вне форума Ответить с цитированием
Старый 03.07.2011, 20:57   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Спасибо всем. Разобрался.
Человек_Борща вне форума Ответить с цитированием
Старый 04.07.2011, 00:37   #7
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Разовые выражения проще смотреть через Evaluate
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 04.07.2011, 02:37   #8
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

А ещё проще мышку подвести под выражение, и его текущее значение скорей всего в хитне покажется
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 04.07.2011, 02:43   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
А ещё проще мышку подвести под выражение, и его текущее значение скорей всего в хитне покажется
Вот я это и имел ввиду=)
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при отладке Kernel32 Общие вопросы Delphi 0 04.05.2011 14:52
Обновление списка данных без потери данных в переменных VaBank БД в Delphi 13 03.06.2009 10:47
Visual C++ 2008 ошибка при отладке R6034 SADAM Visual C++ 6 23.04.2009 10:56
ИС при отладке программы Svensson Помощь студентам 1 12.11.2008 00:28
Не показывает значения элементов массивов при отладке klerk Общие вопросы Delphi 10 01.11.2007 16:14