Nowe posty

Autor Wątek: Newbie uczy sie Pascala (problem z zapisem do pliku....)  (Przeczytany 5902 razy)

Rabarbar

  • Gość
Witam.
Dzisiaj zauważyłem(dopiero dzisiaj, gdyż zaledwie od wczoraj korzystam z tej opcji w windowsie), ze po hibernacji systemu windows, gdy nastepnie jest uruchamiany linux karta sieciowa jest wyłączona(martwa na amen, zadna kontrolka sie nie swieci :) ). Dopiero gdy ponownie uruchomie win\\'a i zamknę go w normalny sposób w linuxie mam połączenie internetowe. Jestem ciekaw, czy można w jakiś sposób podnieść interfejs sieciowy w linuxie po takiej hibernacji XP?Czy komuś się udało?(standardowe ifup eth0 nie działa :) ).

bergo

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #1 dnia: 2005-09-17, 03:21:46 »
Hmmm ciekawe - zaraz sprawdzę...

bergo

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #2 dnia: 2005-09-17, 03:40:50 »
> Hmmm ciekawe - zaraz sprawdzę...

Rzeczywiście, karta sieciowa jest martwa. Ale nie wygląda na błąd Linuxa - karta sieciowa robi się \\"głucha\\" gdy hibernujemy i zaczyna działaś gdy zahibernowany XPek się uruchomii...

Ja mam dodatkowo zainstalowane sterowniki do ext2/3 i po hibernacji uruchamiający się Linux mówi, iż taki a taki wolumin został źle odmontowany i sprawdza poprawność plików.

Ciekawe czy w drugą stronę jest tak samo - czy zahibernowany Linux też blokuje sieć.

Arial

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #3 dnia: 2005-09-16, 21:28:28 »
kod zrodlowy:
Program Earth(INPUT, OUTPUT, Plik);

TYPE

zapis = RECORD

Nazwa  : Integer;
Data   : REAL;
Gracz  : Integer;
END;

CONST

FileName = '/home/arial/pascal/text.txt';

VAR

Plik :TEXT;
zawartosc :STRING[80];
tekst     :INTEGER;  
P         :TEXT;
Nazwa     :INTEGER;
Data      :Real;
Gracz     :Integer;

PROCEDURE zapis (VAR Gracz :zapis; VAR P :SmallInt);
BEGIN
WITH Gracz DO
BEGIN
zapis.Nazwa := Nazwa;
zapis       := Data;
zapis       := Gracz;
END;
With zapis DO
Writeln (P, Nazwa:3, Data:20, Gracz:10)
END;  

BEGIN

ASSIGN (Plik, '/home/arial/pascal/text.txt');
REWRITE (Plik);
RESET (Plik);
Readln (Plik,zawartosc);
WRITELN (zawartosc);
Writeln ('wpisz nazwe:');
Readln  (Nazwa);
Writeln ('wpisz date :');
Readln  (Data);
Writeln ('wpisz nazwe gracza :');
Readln  (Gracz);
zapis(Plik, Nazwa, Data, Gracz)
END.

kompilator (free pascal kompiler) wywala error:
pr1.pas(26,17) Error: overloaded identifier "zapis" isn't a function
pr1.pas(30,1) Error: Variable identifier expected
pr1.pas(31,1) Error: Variable identifier expected
pr1.pas(31,16) Error: Incompatible types: got "Double" expected "zapis"
pr1.pas(32,1) Error: Variable identifier expected
pr1.pas(32,16) Error: Incompatible types: got "SmallInt" expected "zapis"
pr1.pas(51,11) Fatal: Syntax error, ")" expected but "," found
pr1.pas(51,11) Error: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specifiy a source file to be compiled)

anarcho

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #4 dnia: 2005-09-16, 21:42:53 »
nie mozesz miec tej samej nazwy rekordu i nazwy procedury "zapis".

Pozatym radze zacząć korzystać z kompilatora borlanda Kylix 3 Open cos jak Delphi Personal na windows.

Arial

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #5 dnia: 2005-09-16, 21:59:15 »
2005-09-16 21:42:53 anarcho napisał:

> nie mozesz miec tej samej nazwy rekordu i nazwy procedury "zapis".
 >
 > Pozatym radze zacząć korzystać z kompilatora borlanda Kylix 3 Open cos jak Delphi Personal na
 > windows.

Dzx za pomoc i porady, ale naadal cos jest nie tak kod wyglada teraz tak:
Program Earth(INPUT, OUTPUT, Plik);

TYPE

zapis = RECORD

Nazwa  : Integer;
Data   : REAL;
Gracz  : Integer;
END;

CONST

FileName = '/home/arial/pascal/text.txt';

VAR

Plik :TEXT;
zawartosc :STRING[80];
tekst     :INTEGER;  
P         :TEXT;
Nazwa     :INTEGER;
Data      :Real;
Gracz     :Integer;

PROCEDURE zapisplk (VAR Gracz :Integer; VAR P :TEXT);
BEGIN
WITH Gracz DO
BEGIN
zapis.Nazwa := Nazwa;
zapis       := Data;
zapis       := Gracz;
END;
With zapis DO
Writeln (P, Nazwa:3, Data:20, Gracz:10)
END;  

BEGIN

ASSIGN (Plik, '/home/arial/pascal/text.txt');
REWRITE (Plik);
RESET (Plik);
Readln (Plik,zawartosc);
WRITELN (zawartosc);
Writeln ('wpisz nazwe:');
Readln  (Nazwa);
Writeln ('wpisz date :');
Readln  (Data);
Writeln ('wpisz nazwe gracza :');
Readln  (Gracz);
zapisplk(Plik, Nazwa, Data, Gracz)
END.

co tym razem lamer taki jak ja zrobil nie tak ?

Arial

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #6 dnia: 2005-09-17, 10:34:17 »
uporzadkowalem troche kod, jest juz lepiej, ale nadal nie moge skompilowac :( od wyglada tak:

PROGRAM gracz(INPUT,OUTPUT,Plik);
TYPE
Rek_gracz = RECORD
nazwa     :STRING[20];
nazwa_plan:STRING[30];
END;
gracz = record
imie   :string[25];
nick   :string[15];
planeta:string[25];
END;
VAR
Plik   :TEXT;
gracze :gracz;
re_racz:Rek_gracz;
player :STRING[20]
planet :STRING[20]
PROCEDURE zapis (VAR F :TEXT; VAR P :TEXT;);
BEGIN
 WITH gracze DO
 BEGIN
re_racz.nazwa := nazwa;
re_racz.nazwa_plan := planeta;
END;
With re_racz DO
WRITELN (P, nazwa:nazwa, planeta:planeta);
END;
ASSIGN (Plik, '/home/arial/pascal/text.txt'); REWRITE (Plik);
BEGIN
Write ('podaj nazwe gracza:');
Readln(player);
Write ('podaj nazwe planety:');
Readln(planet);
zapis (Plik, player, planet)
END;
CLOSE (Plik);
END.

kompilator:

Compiling pr2.pas
pr2.pas(7,9) Error: Duplicate identifier "gracz"
pr2.pas(14,14) Fatal: Syntax error, "." expected but ";" found
pr2.pas(14,14) Error: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specifiy a source file to be compiled)

greg000

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #7 dnia: 2005-09-17, 11:40:31 »
Czytasz wogole co ci kompilator za beldy podaje ?
Pisze przeciez np:
 > pr2.pas(7,9) Error: Duplicate identifier "gracz"
co oznacza ze masz dwa razy te sama nazwe zadeklarowana.
 Jezeli twoj program sie "gracz" nazywa to dlaczego pod ta sama nazwa deklarujesz zmienna, tak nie moze byc :)

Ponadto ma byc:

ROCEDURE zapis (VAR F :TEXT; VAR P :TEXT);
a nie  
ROCEDURE zapis (VAR F :TEXT; VAR P :TEXT;);
--
masz

 WITH gracze DO
BEGIN
re_racz.nazwa := nazwa;
re_racz.nazwa_plan := planeta;
END;

a nie zadeklarowales zmiennej "nazwa" w rekordzie "gracze"
--
masz

With re_racz DO
               WRITELN (P, nazwa:nazwa, planeta:planeta);
          END;

1. brak 'begin' po 'do'
2. 'nazwa:nazwa' co to ma oznaczac bo zle zapisane,
3. to samo z 'planeta:planeta'
moze mialy byc :

With re_racz DO
   begin
       WRITELN (P, 'nazwa:',nazwa, 'planeta:',planeta);
    end;

To narazie tyle co mi sie w oko rzucilo.

Pozdr

chmooreck

  • Gość
Newbie uczy sie Pascala (problem z zapisem do pliku....)
« Odpowiedź #8 dnia: 2005-09-17, 20:31:33 »
Arial czy ty na prawde myslisz, ze bedziemy ci tu debugowali twoje programy ?