Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Че это за ошибка такая???


Dennis S ©   (2002-10-22 15:04:00) 

Не могу въехать...
Задаю печать формы:

//===prepairing===
GRP2.Top := 5;
Form1.Height := 435;
Form1.Color := clWhite;
Form1.PrintScale := poProportional;
Form1.Print;

//====restoring===
GRP2.Top := 208;
Form1.Height := 533;
Form1.Color := clBtnFace;

Вроде элементарно...а выдает ошибку:
========
Project XZY.exe raised exception class EStringListError with
message "List index out of bounds (0)".
========
На форме есть ListBox-ы (с инфой), а перед печатью перемещается GroupBox(GRP2) с этоми ListBox-ами, закрывая собой другие вещи ...
Пробовал делать тоже самое с пустым GroupBox - все идет...
Тут, что ошибка к ListBox-ам привязана....а какое ей дело до того, че там...я же ее заставляю форму напечатать..
Вот какой вопрос! =)


Dennis S   (2002-10-23 16:06:00) [1]

ДА ЗДРАСТВУЕТ КОФЕ С СИГАРЕТОЙ... :)

Все, мля, элементарно:
надо было просто разделить переменные -
в одном событии (1 операция) - одни,
в другом (4 операции) - другие переменные Initialize
[у меня-то они объявлялись тока 1 раз, до implementation]

Хотя, до сих пор не понимая ЗАЧЕМ...это надо делать
:,)
Пойду еще кофе отхлебну!


Song   (2002-10-23 15:59:00) [2]

2Игорь Шевченко © (23.10.02 15:41)
:-)


Dennis S   (2002-10-23 15:57:00) [3]

2 Игорь Шевченко
:)
Ну да, тебе еще и ключи от квартиры где девки визжат...

2 Skier
А какая, хрень, разница то???

Лано, буду сам копать... Всем спасибо!

P.S.
Но если кто, вдруг, риальный "выпрямитель" для моих рук найдет -
прошу дать знать...


Игорь Шевченко   (2002-10-23 15:41:00) [4]

Dennis S © (23.10.02 15:32)

Это надо со мной договор заключать. У меня со временем плохо.


Skier   (2002-10-23 15:37:00) [5]

>Dennis S
[Warning] main.pas(463): For loop control variable must be simple local variable

компилятор просит от иное (локальное) объявление переменной цикла for

выпрямляется примерно так :

procedure XYZ(...);
var
i : Integer;
//.............
begin
for i := 0 to (lbName.Items.Count-1) do begin
a := StrToFloat(lbNPrice.Items.Strings[i]);
b := StrToFloat(lbPPrice.Items.Strings[i]);
c := a - b;
lbDS.Items.Strings[i] := FloatToStr(c);
end; //for
end;


Dennis S   (2002-10-23 15:32:00) [6]

2 Игорь
Можно тебе на мыло кинуть полный код - может посмотришь, да поможешь...??????????


Игорь Шевченко   (2002-10-23 15:28:00) [7]

Я тоже не пойму. Какие-то отдельные строки...Не надо здесь телепатов искать, плз


Dennis S   (2002-10-23 15:25:00) [8]

Игорь Шевченко © (23.10.02 14:55)

Как избавиться? в хелпе(тоже самое):
for I := ListBox1.Items.Count - 1 downto 0 do
ListBox1.Items[I] := UpperCase(ListBox1.Items[I]);
Ну изыму я скобки(это не принципиально)...
for i := 0 to lbName.Items.Count-1 do
остальное-то вроде все ОК /begin...end;/
Ой руки кривые...
Ну не пойму я, что он хочет...
может меня уже просто клинит... :((


Игорь Шевченко   (2002-10-23 14:55:00) [9]

Dennis S © (23.10.02 14:34)

Для начала, избавься от Warning"ов


Dennis S   (2002-10-23 14:34:00) [10]

2 Игорь Шевченко

Помоги выпрямить...а то не охото всю жизнь с кривыми :)


Dennis S   (2002-10-23 14:32:00) [11]

Это ничего не меняет... тот Warning и ошибка при печати...
Кроме того, этом вариантом я можу воспользоваться только в 1 из 4 случаев: 1- добавляется, 2,3,4-меняет значения
Тут, по ходу, в цикле че-то не то... :-(


Игорь Шевченко   (2002-10-23 14:25:00) [12]

Все-таки руки надо выпрямлять


makdi   (2002-10-23 14:23:00) [13]

А у тебя lbDS сколько строк содержит?
Может стоит попробовать lbDS.Items.Add(FloatToStr(c)) ?


Dennis S   (2002-10-23 14:06:00) [14]

А может быть из-за этого все происходит?

[Warning] main.pas(463): For loop control variable must be simple local variable
[Warning] main.pas(503): --//--
[Warning] main.pas(511): --//--
[Warning] main.pas(519): --//--

А что не так???

fori := 0 to (lbName.Items.Count-1) do
begin
a := StrToFloat(lbNPrice.Items.Strings[i]);
b := StrToFloat(lbPPrice.Items.Strings[i]);
c := a - b;
lbDS.Items.Strings[i] := FloatToStr(c);
end;


Dennis S   (2002-10-23 10:12:00) [15]

и тишина...


Dennis S   (2002-10-22 17:59:00) [16]

HELP, HELP........


Dennis S   (2002-10-22 17:21:00) [17]

ЛЮДИ, будте добры - помогите...


Dennis S   (2002-10-22 16:18:00) [18]

Короче не получится - читайте:
на форме (условно разделена на 2 части) в верхней части куча ListBox-ов, в которые грузится инфа по открытию файла ,
в нижней части на GroupBox-е расположена другая куча ListBox-ов
(с первой кучи, выборочно данные копируются во вторую кучу)
(затем наButton-е считаются суммы, впихиваются в пустые ListBox-ы со второй кучи)
(затем я делаю, то что написано в вопросе - и ГЛЮК)

{=== GroupBox сделан вверхним, чтобы закрывать собой пурвую кучу ListBox-ов при перемещении и печпти... ===}

Какие идеи?????? :)


Андрей Прокофьев   (2002-10-22 16:03:00) [19]

Расскажите, что вы там с *Boxa"ми делаете


Dennis S   (2002-10-22 16:01:00) [20]

А ЕСЛИ ПО ДЕЛУ??? КТО-НИТЬ ЗНАЕТ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо