czesc
mam takie cos:
Struct header
{
int cos;
};
struct hFile
{
int cos
};
i mam wczyywanie z pliku:
fread(&header, 1, sizeof(header), fp);
fread(&hFile, 17, sizeof(hFile), fp);
i mam pytanie:
jak w delphi wczytac z pliku takie cos?
czesc
mam takie cos:
Struct header
{
int cos;
};
struct hFile
{
int cos
};
i mam wczyywanie z pliku:
fread(&header, 1, sizeof(header), fp);
fread(&hFile, 17, sizeof(hFile), fp);
i mam pytanie:
jak w delphi wczytac z pliku takie cos?
nie jestem pewny ale chyba struct to w delphi jest type
wiec type nazwa = record
cos : integer;
end;
?
to wiem ale jak z pliku odczytac dwa rozne rekordy?
type opek=record
cos : integer;
end;
type opek2=record
cos : integer;
end;
var
f : file;
header : opek;
header2 : opek2;
begin
assignfile(f,sciezka);
reset(f,1);
blockread(f,opek,sizeof(header));
blockread(f,opek,sizeof(header2));
closefile(f);
end;
i masz
//my_nick zes sie mnie czepil :P
Małe sprostowanie: struct to odpowiednik record, ale w C jest inna kolejność podczas definiowania typów. Nie trzeba dwa razy powtarzać type w kodze delphi.
ZIOMBER: na borland.com gdzieś jest taki artykulik o poprawnym pisaniu kodu, KONIECZNIE go przeczytaj!
Jeszcze jedno pytanko :)
gdy mam takie cos:
tak wczytuje w cpp
struct cos
{
int cos;
};
...
cos items[16] = {0};
fread(&items, 16, sizeof(cos), fp);
a tak w delphi:
type
cos=record
cos: integer;
end;
...
var
items: array[1..16] of cos;
f: file;
..
blockread(f, items, sizeof(items));
to wywala mi ze program wykonal nieprawidlowa operacje ..., wiecie jak by to poprawic by dzialalo?
p.s
thx za wczesniejsze odp :)
a sproboj tak zeby wsadzic
items: array[1..16] of cos; do type
type tplik=record
items: array[1..16] of cos;
end;
i wtedy var xosik : tplik;
i blockread(f,xosik,sizeof(xosik));
ale blad mzoe byc tym spowodowany ze plik zapisany zostal inaczej :D