Delphi не считает на ровном месте.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Delphi не считает на ровном месте.

Delphi не считает на ровном месте.

Ответ
Поиск в этой теме
Непрочитано 04.05.2013, 20:02 #1
Delphi не считает на ровном месте.
SNIIP
 
Регистрация: 04.05.2010
Сообщений: 338

ребят, уже 5ть часов сижу ,помогите разобраться... есть такая часть кода:

Код:
[Выделить все]
if combobox27.Text=combobox21.Items[i] then begin
    assignfile(f,'peredacha1.txt');
    reset(f);
    kol:=0;
    for m := 1 to strtoint(edit57.text)+1 do
    begin
    readln(f,al);
    kol:=kol+al;
    end;
    if combobox12.Text='12000' then
    num1:=kol*4 else
    num1:=kol*8;

    kol1:=0;
    while not(eof(f)) do
    begin
    readln(f,al);
    kol1:=kol1+ al;
    end;
    closefile(f);
    kol3:=0;
    for m := 1 to strtoint(edit61.text) do begin
    kol3:=kol3+svz[m];
    end;



    XL.cells[j,3]:='∑ ' + combobox1.text;   j:=j+1;
    num2:=kol1*kol3*2*2;
    XL.cells[j,3]:='∑ ' + combobox7.text;   j:=j+1;
    end;
строки где num1 и Num2 присвается умножение вообще компилятор gерескакиевает и в итоге num1 и num2 равно 0. В чем дело.... в какое место кода не ставил бы эти строки компилятор их не выполняет
Просмотров: 3180
 
Непрочитано 04.05.2013, 20:13
#2
ябс

КМ/КЖ
 
Регистрация: 01.11.2012
Орел
Сообщений: 618


watch тебе в помощь, задай нач значения num1, num 2
если не помогает - попробуй переменные по-другому назвать
ябс вне форума  
 
Автор темы   Непрочитано 04.05.2013, 20:25
#3
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


в том то и дело... он перескакивает строчки с присваиванием, и переменные равны 0. я не пойму почему... подругому называл.. то же самое...
SNIIP вне форума  
 
Непрочитано 04.05.2013, 20:32
#4
ябс

КМ/КЖ
 
Регистрация: 01.11.2012
Орел
Сообщений: 618


если перескакиевает-значит не срабатывает if, добавь в watch "combobox12.Text", и пошагово сравнивай '12000' может пробел где вылез
ябс вне форума  
 
Автор темы   Непрочитано 04.05.2013, 20:41
#5
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


а как насчет вторго пресваивания? оно без всяких if стоит... его перескакиевает как будто нет этой строчки....



обратите внимание где я подчеркнул... при компиляции делфи не ставит точки остановки на этих строчках... это как понимать???

р.s. я там переменные переименовал, не обращайте вниманиея

Последний раз редактировалось SNIIP, 04.05.2013 в 20:47.
SNIIP вне форума  
 
Непрочитано 04.05.2013, 20:52
#6
ябс

КМ/КЖ
 
Регистрация: 01.11.2012
Орел
Сообщений: 618


перезапусти делфи, строки в коде никак не помечены? попробуй вместо num1 - a1, данных мало
ябс вне форума  
 
Автор темы   Непрочитано 04.05.2013, 20:53
#7
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


пробовал и перезапускать и менять именя переменных...
SNIIP вне форума  
 
Непрочитано 04.05.2013, 21:02
#8
ябс

КМ/КЖ
 
Регистрация: 01.11.2012
Орел
Сообщений: 618


компилятор не использует эти строки, может быть потому, что они дальше не используются, оптимизация как-никак) отключается в настройках компилятора(ну или выведи их куда-нибудь), сразу картинку надо выкладывать).
ябс вне форума  
 
Непрочитано 04.05.2013, 22:30
#9
Volod'ka


 
Регистрация: 17.03.2008
Днепропетровск
Сообщений: 148


Цитата:
Сообщение от ябс Посмотреть сообщение
компилятор не использует эти строки, может быть потому, что они дальше не используются, оптимизация как-никак) отключается в настройках компилятора(ну или выведи их куда-нибудь), сразу картинку надо выкладывать).
именно так. либо отключите оптимизацию в настройках компилятора, либо выведите эти переменные куда-то - на экран, в messagebox, и т.п.
Volod'ka вне форума  
 
Непрочитано 05.05.2013, 01:23
#10
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>пробовал и перезапускать и менять именя переменных...
еще полезно иногда пробовать читать сообщения компилятора, которые варнинги и хинты))
zamtmn вне форума  
 
Автор темы   Непрочитано 05.05.2013, 06:08
#11
SNIIP


 
Регистрация: 04.05.2010
Сообщений: 338


все дело в дольнейшем неиспользовании.. я просто не писал еще вывод их... решил протестировать значение на данном этапе и на тебе... дописал вывод и все раотает. Мдяяяя уж) спасибо всем большое)
SNIIP вне форума  
 
Непрочитано 05.05.2013, 07:56
#12
Ratmir


 
Регистрация: 12.09.2005
Барнаул
Сообщений: 77


SNIIP, разбей код на более простые блоки для отладки, например введи переменную

stPer:= Trim(combobox12.Text='12000');
if stPer = '12000' then
num1:=kol*4
else
num1:=kol*8;

Возможно баг и пройдет, кроме того переменная kol может быть равно нулю, в начале ты ее обнуляешь

kol:=0;
for m := 1 to strtoint(edit57.text)+1 do
begin
readln(f,al);
kol:=kol+al;
end;

а в дальнейшем цикл for не обрабатывается или переменная al равна нулю и num1:= 0 и num2:= 0.
Ratmir вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Delphi не считает на ровном месте.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документация Проектировщику на Torrents DEM Разное 263 03.09.2024 12:25
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Статистика по форуму на 16.01.2013 bargool Разное 1 18.01.2013 23:20
Lisp и внешний сервер автоматизации на Delphi samos LISP 19 07.10.2011 05:54
AutoCad и Delphi. Добавление точки Зойберг Программирование 15 28.02.2008 23:18