Форум: "Прочее";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Внизстранное поведение StringGrid Найти похожие ветки
← →
DeadLord © (2007-10-08 21:58) [0]получаю данные для массива:
begin
for i:=1to xx do
for j:=1to yy do
w[i,j]:=strtofloat(form2.stringgrid1.Cells[i,j]);
end;
Если запускать по Ф9, то все идет гладко, но большая часть массива заполняется нолями, хотя стринг грид не нулевая вообще. Если попробовать выполнить по шагам, то выпадает access violation и окошко отладчика... в чем дело?!
← →
й1 (2007-10-08 22:05) [1]
> strtofloat
← →
DeadLord © (2007-10-08 22:08) [2]
> > strtofloat
не понял...
← →
DeadLord © (2007-10-08 22:09) [3]а, да. стринг грид содержит дробные числа, массив w типа риал
← →
Prohodil Mimo © (2007-10-08 22:14) [4]а остальные переменные каких типов?
← →
DeadLord © (2007-10-08 22:16) [5]
> а остальные переменные каких типов?
которые? i,j,xx,yy- byte.
← →
Вася Правильный (2007-10-08 22:20) [6]
> i,j,xx,yy- byte.
экономишь?
> стринг грид содержит дробные числа
а десятичныйразделитель учтен?
← →
Prohodil Mimo © (2007-10-08 22:20) [7]DeadLord © (08.10.07 22:16) [5]
i,j,xx,yy- byte.
так и думал.
а колонок и строк в гриде наверное больше чем 255?
← →
Anatoly Podgoretsky © (2007-10-08 22:20) [8]Во первых заменить на Integer, а во вторых разобраться с индексами, где строки и столбцы у массивов и у StringGrid и в третьих если приводишь код, то приводи полностью, а не огрызки.
← →
DeadLord © (2007-10-08 22:22) [9]
> > i,j,xx,yy- byte.
>экономишь?
а почему бы и нет?
>> стринг грид содержит дробные числа
>а десятичныйразделитель учтен?
в смысле? запятая стоит. несколько числе нормально распознались, а остальные ячейки нолями забиты:(
← →
DeadLord © (2007-10-08 22:22) [10]
> так и думал.а колонок и строк в гриде наверное больше чем
> 255?
12х12
← →
Prohodil Mimo © (2007-10-08 22:24) [11]DeadLord © (08.10.07 22:22) [10]
тогда делай
> в третьих
из [8]
← →
Вася Правильный (2007-10-08 22:25) [12]
> >экономишь?а почему бы и нет?
это самообман
никакой экономии не происходит, все равно хранится как Integer, обрабатывается только медленнее и неуловимых проблем больше
> в смысле? запятая стоит
а в системе? а DecimalSeparator?
← →
DeadLord © (2007-10-08 22:26) [13]
> Во первых заменить на Integer, а во вторых разобраться с
> индексами, где строки и столбцы у массивов и у StringGrid
> и в третьих если приводишь код, то приводи полностью, а
> не огрызки.
изменил на интеджер- не помогло.
вот процедура целиком:procedure letsgo;
begin
if perexodim<>true then
begin
for i:=1to xx do
for j:=1to yy do
w[i,j]:=strtofloat(form2.stringgrid1.Cells[i,j]);
end;
if nomras=1 then raschet1(w);
if nomras=2 then raschet2(w);
if nomras=3 then raschet3(w);
if nomras=4 then raschet4(w);
if nomras=5 then raschet5(w);
if nomras=6 then raschet6(w);
if nomras=7 then raschet7(w);
if nomras=8 then raschet8(w);
end;
← →
Prohodil Mimo © (2007-10-08 22:29) [14]DeadLord © (08.10.07 22:26) [13]
из таких зверьков шубы делают :о)
← →
Anatoly Podgoretsky © (2007-10-08 22:30) [15]> DeadLord (08.10.2007 22:26:13) [13]
Опять огрызок, неизвестны типы переменных
perexodim, i, xx, j, yy, w[i,j]
и их начальные значения. Кроме того в какой строке возникает ошибка.
← →
DeadLord © (2007-10-08 22:33) [16]
> Опять огрызок, неизвестны типы переменныхperexodim, i, xx,
> j, yy, w[i,j]и их начальные значения. Кроме того в какой
> строке возникает ошибка.
i, xx, j, yy- изменил на интеджер
w[i,j]- TMyArr = array[0..12, 0..15] of double;
начальные значения ноль
ошибка возникает в строкеw[i,j]:=strtofloat(form2.stringgrid1.Cells[i,j]);
← →
Prohodil Mimo © (2007-10-08 22:35) [17]нет процедуры заполнения грида
нет процедур типа raschet1..8
нет той процедуры, при помощи которой ты узнаёшь, что числа потерялись
Вася Правильный (08.10.07 22:25) [12]
а в системе? а DecimalSeparator?
если бы была в этом причина, он бы получал не АВ, а значение ххх не флоат.
← →
Anatoly Podgoretsky © (2007-10-08 22:36) [18]
> начальные значения ноль
>
> ошибка возникает в строке
> w[i,j]:=strtofloat(form2.stringgrid1.Cells[i,j]);
Не может, цикл не выполнится ни одного разу.
← →
DeadLord © (2007-10-08 22:39) [19]
> нет процедуры заполнения грида
>нет процедур типа raschet1..8
> нет той процедуры, при помощи которой ты узнаёшь, что
> числа потерялись
грид заполнен, мне лень каждый рад вбивать 144 значения, как подразумевается по ТЗ
о потеряных значениях узнаю, наведя мышку на переменную массива. Там большая часть значений в начале строки-ноль, последние 2-3 значения- осмысленные
вот описание процедур:procedure raschet1(var d: TMyArr);
procedure raschet2(var d: TMyArr);
procedure raschet3(var c2: TMyArr);
procedure raschet4(var a: TMyArr);
procedure raschet5(var a: TMyArr);
procedure raschet6(var a: TMyArr);
procedure raschet7(var a: TMyArr);
procedure raschet8(var a: TMyArr);
← →
Prohodil Mimo © (2007-10-08 22:40) [20]DeadLord © (08.10.07 22:33) [16]
еслиfor i:=1to xx do
for j:=1to yy do
то почемуarray[0..12, 0..15]
?
так же где xx и yy принимают значения и какие?
← →
DeadLord © (2007-10-08 22:40) [21]
> Не может, цикл не выполнится ни одного разу.
почему? он очень даже выполняется- по шагам прогнал... Значение переменной perexodim- false
← →
DeadLord © (2007-10-08 22:42) [22]
> ак же где xx и yy принимают значения и какие?
блин, забыл: эти два числа у меня константы, равные 12. столбцов 15, так как в последствии есть элементы yy+2 и yy+3
← →
Anatoly Podgoretsky © (2007-10-08 22:43) [23]> DeadLord (08.10.2007 22:40:21) [21]
Цикл for I := 1 to 0 никогда не выполнится, так что лапшу на уши вешаешь.
← →
Anatoly Podgoretsky © (2007-10-08 22:44) [24]> DeadLord (08.10.2007 22:42:22) [22]
Когда будет полный и правильный код?
← →
DeadLord © (2007-10-08 22:44) [25]
> Цикл for I := 1 to 0 никогда не выполнится, так что лапшу
> на уши вешаешь.
извини, мой затык >> [22]
← →
Prohodil Mimo © (2007-10-08 22:45) [26]DeadLord © (08.10.07 22:42) [22]
ты не ответил на первый вопрос.
>если
>for i:=1 to xx do
>for j:=1 to yy do
>то почему
> array[0..12, 0..15]?
← →
DeadLord © (2007-10-08 22:45) [27]
> Когда будет полный и правильный код?
я его выкладывал уже...
http://delphimaster.net/view/15-1190608909/
← →
DeadLord © (2007-10-08 22:47) [28]
> ты не ответил на первый вопрос
оО точно... опять косяк:) но это не влияет... просто я определение типа писал отдельно, сегодня, видимо не о том думал:(
← →
Anatoly Podgoretsky © (2007-10-08 22:49) [29]> DeadLord (08.10.2007 22:45:27) [27]
В указаной ветке кода нет.
← →
Prohodil Mimo © (2007-10-08 22:53) [30]DeadLord © (08.10.07 22:47) [28]
вот и ищи по всей прграмме косяки, да повнимательней.
а для начала проверь что будет:
if perexodim<>true then
begin
for i:=1to xx do
for j:=1to yy do
w[i,j]:=strtofloat(form2.stringgrid1.Cells[i,j]);
for i:=1to xx do
for j:=1to yy do
form2.stringgrid1.Cells[i,j] := FormatFloat("0.00", w[i,j]);
end;
если значения обнулятся, значит что-то не то при чтении, если останутся прежними, ищи косяки в raschet...
хотя не исключено, что значения чутка изменятся в результате конвертаций стринг>>флоат>>стринг
← →
Prohodil Mimo © (2007-10-08 22:54) [31]Anatoly Podgoretsky © (08.10.07 22:49) [29]
В указаной ветке кода нет.
там есть ссылка на код, который сделал ноги.
← →
DeadLord © (2007-10-08 22:54) [32]
> В указаной ветке кода нет.
залил http://slil.ru/24953399
← →
DeadLord © (2007-10-08 22:56) [33]
> если значения обнулятся, значит что-то не то при чтении,
> если останутся прежними, ищи косяки в raschet...хотя не
> исключено, что значения чутка изменятся в результате конвертаций
> стринг>>флоат>>стринг
хм... остались прежними... значит где то косяк, пошел искать:(
← →
Anatoly Podgoretsky © (2007-10-08 22:57) [34]> Prohodil Mimo (08.10.2007 22:54:31) [31]
Еще не хватало бегать по Интернет за кодом.
← →
DeadLord © (2007-10-08 23:01) [35]=))))))))))))))))))))
← →
Prohodil Mimo © (2007-10-08 23:04) [36]Anatoly Podgoretsky © (08.10.07 22:57) [34]
будь я тем кодом, я бы тоже прятался :о)
← →
Anatoly Podgoretsky © (2007-10-08 23:06) [37]> Prohodil Mimo (08.10.2007 23:04:36) [36]
Это как минимум не уважение к форуму, посылать за 20 строчками кода неизвестно куда то в Интернет.
← →
Anatoly Podgoretsky © (2007-10-08 23:07) [38]И вместо него постоянно приводить какие то огрызки.
← →
vasIZmax © (2007-10-08 23:07) [39]))))))))))))))))
плачу и бьюсь об стол
ребят, скачайте))))
Unit2, 483 строка))))))))) а он, далеко пойдет)))))
← →
DeadLord © (2007-10-08 23:07) [40]
> Это как минимум не уважение к форуму, посылать за 20 строчками
> кода неизвестно куда то в Интернет.
их там 452....
← →
DeadLord © (2007-10-08 23:08) [41]
> vasIZmax © (08.10.07 23:07) [39]
> ))))))))))))))))плачу и бьюсь об столребят, скачайте))))Unit2,
> 483 строка))))))))) а он, далеко пойдет)))))
не смешно:( может тебе этот же код на бейсике показать?????
← →
Anatoly Podgoretsky © (2007-10-08 23:09) [42]> DeadLord (08.10.2007 23:07:40) [40]
А это вообще наглость, приводить надо не всю помойку, а только код относящийся к проблеме и ничего лишнего. Никто в этой помойке рыться не будет.
← →
DeadLord © (2007-10-08 23:09) [43]
> DeadLord © (08.10.07 23:07) [40]
> > Это как минимум не уважение к форуму, посылать за 20 строчками
> > кода неизвестно куда то в Интернет.их там 452....
ой...
655
← →
DeadLord © (2007-10-08 23:10) [44]
> Anatoly Podgoretsky © (08.10.07 23:09) [42]
> > DeadLord (08.10.2007 23:07:40) [40]А это вообще наглость,
> приводить надо не всю помойку, а только код относящийся
> к проблеме и ничего лишнего. Никто в этой помойке рыться
> не будет.
я вообще то это и привел- кусок, где у меня вылазит аксесс валейшн, но Вы попросили весь код...
← →
Prohodil Mimo © (2007-10-08 23:10) [45]Anatoly Podgoretsky © (08.10.07 23:06) [37]
Это как минимум не уважение к форуму, посылать за 20 строчками кода неизвестно куда то в Интернет
там далеко не 20 строк, там файлик на 19К, одних только функций.
← →
Prohodil Mimo © (2007-10-08 23:14) [46]Anatoly Podgoretsky © (08.10.07 23:09) [42]
а только код относящийся к проблеме
опять не прав: там всё одна сплошная проблема.
беру лоток для яиц
заполняю его яйцами
бешенно размазываю по всей помойке
открываю лоток
почему там нет яиц?
ребята, помогите вернуть яйца на место в первоначальное состояние.
← →
Anatoly Podgoretsky © (2007-10-08 23:15) [47]> DeadLord (08.10.2007 23:10:44) [44]
Ты привел никуда не годный огрызок.
← →
DeadLord © (2007-10-08 23:16) [48]за сарказм, конечно, спасибо, но у меня был вопрос основной: почему при пошаговом исполнении в строке заполнения массива вылазит аксесс валейшн и отладчик!!!!! я не прошу вычитывать мой код. Если не знаете- так и скажите, я отстану. Процедура, в которой этот код, выполняется первой, поэтому никаких других воздействий на массив нет. За стеб спасибо, чувство юмора я оценил, но исходник этого же на барсике выглядит не лучше...
← →
Anatoly Podgoretsky © (2007-10-08 23:16) [49]> Prohodil Mimo (08.10.2007 23:10:45) [45]
Даже приведеный в форуме код избыточен, значимых только три строки, к этим строкам нужны еще объявления и инициализация, думаю что 20 строк это даже слишком много.
Кроме того, именно он должен сделать проект из этих 20 строк и отладиться на нем.
← →
DeadLord © (2007-10-08 23:17) [50]
> Anatoly Podgoretsky © (08.10.07 23:15) [47]
> > DeadLord (08.10.2007 23:10:44) [44]Ты привел никуда
> не годный огрызок.
я привел кусок кода, в котором у меня ошибка и на который ничто не воздействует
← →
Anatoly Podgoretsky © (2007-10-08 23:19) [51]> DeadLord (08.10.2007 23:17:50) [50]
И тебя все были вынуждены пытать, что бы получить дополнительную информацию, которую ты так и не привел. Я что то сомневаюсь, что тебе какая либо помощь нужна, ну или по крайней мере ты ее недостоин пока.
← →
Prohodil Mimo © (2007-10-08 23:21) [52]DeadLord © (08.10.07 23:16) [48]
в массив считывается, это ты уже определил, теперь подобным образом проверяй каждый блок. Глядишь, до чего-нибудь докопаешся.
В такой код врят-ли кто полезет, переменные названы так, что голова распухнет вникать.
а за 46 не обижайся, обидеть не хотел.
← →
DeadLord © (2007-10-08 23:23) [53]
> Prohodil Mimo © (08.10.07 23:21) [52]
да я и не обижаюсь... просто я уже немного на взводе:(
> Anatoly Podgoretsky © (08.10.07 23:19) [51]
вот с этого надо было начинать, извините за беспокойство
← →
Prohodil Mimo © (2007-10-08 23:24) [54]и на будущее: если выкладываешь код, то хотя бы без *.~* и *.dcu
← →
Anatoly Podgoretsky © (2007-10-08 23:27) [55]> DeadLord (08.10.2007 23:23:53) [53]
Все таки обиделся, а надо просто серьезнее отнестись.
← →
DeadLord © (2007-10-08 23:39) [56]Все, косяк нашел.
Оказалось, что у меня в одной из процедур массив целиком обнулялся. Решил изменением перехода между процедурами. Аксесс валейшн так и остался, хотя ни на что не влияет...
← →
vasIZmax © (2007-10-08 23:45) [57]имхо, путаница у тебя где-то в raschet,
возможно даже в шестом
← →
Думкин © (2007-10-09 06:26) [58]> Аксесс валейшн так и остался, хотя ни на что не влияет...
В мемориз.
Работал у меня недавно спец один - трубы варил, котел ставил. Ну, я воду залил - капает. Позвал его - как так? Он чего-то покрутил - капает. Да ничего, говорит - нормально - прогонишь кипяток - затянет, дело житейское, я когда в ЖКХ работал мы часто так - течет и ладно, потом кипятком затянется, а если что - бинт с соляным раствором или горчицу в воду бахни 1 кг.
Я присел - в итоге все сам загерметизировал.
← →
boa_kaa © (2007-10-09 07:44) [59]
> DeadLord ©
procedure letsgo;
begin
if perexodim<>true then
begin
for i:=1to xx do
for j:=1to yy do
w[i,j]:=strtofloat(form2.stringgrid1.Cells[i,j]);
end;
if nomras=1 then raschet1(w);
if nomras=2 then raschet2(w);
if nomras=3 then raschet3(w);
if nomras=4 then raschet4(w);
if nomras=5 then raschet5(w);
if nomras=6 then raschet6(w);
if nomras=7 then raschet7(w);
if nomras=8 then raschet8(w);
end;
Слушай, а ты на самом деле программистом работаешь? Крысата-а-а-а-а!!! 8-0
← →
icWasya © (2007-10-09 10:56) [60]в конце процедуры raschet1 есть такой код
for i1:=1 to xx do
begin
for j1:=1to yy do
if (i1<=xx) and (j1<=xx) then d[i1,j1]:=r[i1,j1] else d[i1,j1]:=0; d[i1,xx+2]:=es[1,i1]; //переносим под матрицу корреляций сумму
d[i1,xx+3]:=es[2,i1]; //переносим под матрицу корреляции СКО
end;
после которого половина массива W заполнена нулями
← →
Sonia © (2007-10-09 12:43) [61]
> Аксесс валейшн так и остался
Ошибка может быть заложена раньше, чем в строке, в которой появилась
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.6 MB
Время: 0.057 c