procedure TForm1.Button1Click(Sender: TObject);
var t:textfile;
i:integer;
begin
assignfile(t,'ludia.txt');
reset(t);
for i:=1 to 2 do begin
readln(t,ziak[i].meno);
readln(t,ziak[i].vek);
end;
closefile(t);
end;
A ak potrebuješ iba po prvú medzeru, tak to potom uprav. Ale ťažko povedať, mal si ukázať ako vypadá tvoj testovaný súbor ludia.txt
procedure TForm1.Button1Click(Sender: TObject);
var t:textfile;
pom:string;
i:integer;
begin
assignfile(t,'ludia.txt');
reset(t);
i:=1;
while not(eof(t)) do begin
readln(t,pom);
ziak[i].meno:=copy(pom,1,pos(' ',pom)-1);
ziak[i].vek:=strtoint(copy(pom,pos(' ',pom),length(pom)-pos(' ',pom)));
inc(i);
if i=11 then break;
end;
closefile(t);
end;
je to cez cyklus while a nie for, lebo by si sa nemal spoliehať na to, že tam bude naozaj presne 10 údajov. Preto prečíta všetko (to je to while not(eof(t)) to znamená že bude robiť nasledujúce príkazy kým nepríde na koniec súboru) ale maximálne však 10. Ak je i=11 tak sa preruší cyklus, lebo nemôžeme zapisovať do 11 prvku keď ich máme len 10
To zavisi od ucitela. 0 bodov je drsne riesenie, osobne by som za to nejaky ten bodik urcite stiahol a za nepritomnost komentarov tiez. Kod je tak neprehladny, a ked sa clovek k nemu po case vrati, tak to nejaky cas trva, kym zisti, co vlastne robi a kde sa to, ci ono realizuje.
q-parser napísal:To zavisi od ucitela. 0 bodov je drsne riesenie, osobne by som za to nejaky ten bodik urcite stiahol a za nepritomnost komentarov tiez. Kod je tak neprehladny, a ked sa clovek k nemu po case vrati, tak to nejaky cas trva, kym zisti, co vlastne robi a kde sa to, ci ono realizuje.
v prípade 10 riadkov práve komentáre zneprehladňujú
audiotrack napísal:v prípade 10 riadkov práve komentáre zneprehladňujú
idealne komentare su java style, cize kratke funkcie a pred kazdou komentar co robi, co do nej vstupuje, co vracia ... a do zdrojaku len malo, tam to ozaj obcas zavadzia ... ale tabulatory musia byt
btw nepovedal som ze 0 bodov, proste ti to nezoberie ...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var pocet,kod,c,a,b,d,e,f,g,p: integer;
edit: string;
begin
edit:=Edit1.Text;
val(edit,pocet,kod);
if kod<>0 then ShowMessage('Nezadali ste èíslo!') else begin
b:=600 div pocet;
g:=1;
f:=0;
d:=1;
p:=0;
for c:=1 to pocet do begin
for e:=1 to pocet do begin
a:=(e*b)-b;
if e=1 then a:=0;
if pocet mod 2=0 then
if (d+p) mod 2 =0 then image1.Canvas.Brush.Color:=clWhite else
image1.Canvas.Brush.Color:=clBlack
else
if d mod 2 =0 then image1.Canvas.Brush.Color:=clWhite else
image1.Canvas.Brush.Color:=clBlack;
image1.Canvas.Rectangle((f*b),a,(g*b),(e*b));
image1.Canvas.Brush.Color:=clBlack;
d:=d+1;
end;
inc(f);
inc(g);
if pocet mod 2=0 then inc(p);
end;
end;
end;
end.
procedure TForm1.vytvorsachovnicu;
var i,j,x,y:integer;
cierna:boolean;
begin
image1.Canvas.pen.color:=clBlue;
for I:=1 to 8 do begin
image1.Canvas.MoveTo(i*25,0);
image1.canvas.LineTo(I*25,image1.Height);
image1.Canvas.MoveTo(0,i*25);
image1.canvas.LineTo(image1.Width,i*25);
end;
y:=0;
x:=0;
for I:=0 to 63 do begin
if cierna then image1.Canvas.brush.color:=clBlack else Image1.canvas.brush.color:=clWhite;
Image1.Canvas.FloodFill(x,y,clwhite,fssurface);
x:=x+26;
if x>200 then begin
x:=0;
y:=y+26;
cierna:=not(cierna);
end;
cierna:=not(cierna);
end;
end;
procedure TForm1.vytvorsachovnicu;
var i,j,x,y:integer;
cierna:boolean;
begin
image1.Canvas.pen.color:=clBlue;
for I:=1 to 8 do begin
image1.Canvas.MoveTo(i*25,0);
image1.canvas.LineTo(I*25,image1.Height);
image1.Canvas.MoveTo(0,i*25);
image1.canvas.LineTo(image1.Width,i*25);
end;
y:=0;
x:=0;
for I:=0 to 63 do begin
if cierna then image1.Canvas.brush.color:=clBlack else Image1.canvas.brush.color:=clWhite;
Image1.Canvas.FloodFill(x,y,clwhite,fssurface);
x:=x+26;
if x>200 then begin
x:=0;
y:=y+26;
cierna:=not(cierna);
end;
cierna:=not(cierna);
end;
end;
nejako to nefachci:( spravi to sachovnicu ale celu ciernu z modrymi ciarami...ja by som to potreboval tak ze cierny stvorec bieli stvorec 8x8 z velkostou strany A, a cez rectangle...
ten kod ide, ak ti nevykresluje striedavo farby, treba za begin nastaviť log. premennú (cierna:=false; alebo cierna:=true; podla toho akou farbou chceš začínať)
Keď to malo byť cez rectangle, tak sorry, som si nevšimol