Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Pascal] Pewien problem ...
spenalzo
post 25.12.2003, 02:21:13
Post #1





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Mam pewien problem z tym językiem - korzystajac sobei z wolnego czasu w święta postanowiłem napisać troche wcześniej (bardziej rozbudowaną, może na 6 winksmiley.jpg ) pracę do szkoły - ale wystąpił pewien problem. Mam taki oto fragment kodu:
Kod
for i:=0 to ilek do

  begin

    assign(tmpfile,'kat-' + int2str(kat[i].id) + '.html');

    {$I-}

    rewrite(tmpfile);

    {$I+}

     ........ tutaj zapisuje cośtam do pliku.......

    for x:=0 to ilep do

    begin

       if wyd[x].kategoria = kat[i].id then

       begin

          write(tmpfile,'    <tr><td><a href="w-',x,'.html">',wyd[x].nazwa,'</a></td>');              

          writeln(tmpfile,wyd[x].data_wyd.dzien,'.',wyd[x].data_wyd.miesiac,'.',wyd[x].data_wyd.rok,'</td></tr>');

       end;

    end;

    writeln(tmpfile,'</table><br><a href="index.html">Powrót...</a></body></html>');

    close(tmpfile);

  end;

i bez tej wewnętrznej pętli wszystko działa super - pliki zapisują się tyle ile trzeba. Natomiast na tej wewnętrznej pętli pascal sie wysypuje (po skompilowaniu i odpaleniu programu), i podaje mi coś takiego:


Wszystkie zmienne są zadeklarowane prawidłowo, x, i, ilek, ilep są typu Integer - ogólnie wszystko jest OK, bo bez tej pętli działa :? Przy kompilacji nie wyskakują żadne błedy. Siedze nad tym już chyba ponad godzine i nic rolleyes.gif


--------------------

Go to the top of the page
+Quote Post
Bakus
post 25.12.2003, 03:48:36
Post #2


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


A ta pętla jest Ci naprawdę aż tak do szczęścia potrzebna... questionmark.gif winksmiley.jpg


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
Jabol
post 25.12.2003, 10:01:43
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


pisze wyraźnie - ACCESS_VIOLATION. Co prawda nie znam pascala, ale podejrzewam, że próbujesz zmienić zmienną typu RO albo coś takiego. Może wypisujesz dane tablicy z pola, którego nie ma ( spoza zakresu )?
Go to the top of the page
+Quote Post
spenalzo
post 26.12.2003, 02:24:08
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Hmm zamieniłem wewnętrzną pętlę z for na repeat...until i teraz działa :-k
Ogólnie zauważyłem (już trzeci raz), że pascal się sypie na zagnieżdzonych w sobie pętlach for :-k


--------------------

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 05:22