Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Pascal] Pewien problem ...
Forum PHP.pl > Inne > Hydepark
spenalzo
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
Bakus
A ta pętla jest Ci naprawdę aż tak do szczęścia potrzebna... questionmark.gif winksmiley.jpg
Jabol
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 )?
spenalzo
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.