Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pitanje oko zapisa,tj record-a!!!!

[es] :: Pascal / Delphi / Kylix :: Pitanje oko zapisa,tj record-a!!!!

[ Pregleda: 2512 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

osmica
Beograd

Član broj: 38009
Poruke: 74
*.matf.bg.ac.yu.

Sajt: www.imagenedthe.com


Profil

icon Pitanje oko zapisa,tj record-a!!!!12.04.2005. u 15:22 - pre 231 meseci
Imam mali probem oko zapisa tj record-a.Na formu sam ubacio 4 dugmeta,na prvo kad se klikne snimi se neka velicina u record i tako vise puta,ja zelim da kad klikam na sledece i predhodno dugme da se krecem kroz velicine koje sam snimio u record(u ovom slucaju to su imena).Probao sam na par nacina,i da kazem j+1,k-1,i for i:=8 down to 1 do,..., da bih mogao da se krecem kroz tu listu.Ako moze objasenje,i kako da znam za ubuduce,posto sam i ranije imao problema sa slicnim zadacima,doduse to je vise pitanje iz pascala nego iz delphija.Hvala,poz!
Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    BtnSnimi: TButton;
    BtnNovi: TButton;
    BtnSledeci: TButton;
    BtnPredhodni: TButton;
    procedure BtnSnimiClick(Sender: TObject);
    procedure BtnNoviClick(Sender: TObject);
    procedure BtnPredhodniClick(Sender: TObject);
    procedure BtnSledeciClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
type
 TProba = record
    Ime : string[30];
end;
var
  Form1: TForm1;
  Zapis: array[1..8] of TProba;
implementation

{$R *.dfm}

procedure TForm1.BtnSnimiClick(Sender: TObject);
var
i:integer;
begin
if MessageDlg('Snimi text?',mtConfirmation,[mbYes,mbNo],0)=MrNo
then Exit
else
for i:=1 to 8 do
Zapis[i].Ime:=Edit1.Text
end;

procedure TForm1.BtnNoviClick(Sender: TObject);
begin
if MessageDlg('Novi zapis?',mtConfirmation,[mbYes,mbNo],0)=MrNo
then Exit
else
Edit1.Clear;
end;

procedure TForm1.BtnPredhodniClick(Sender: TObject);
var
k:integer;
begin
for k:=1 to 8 do
begin
Edit1.Text:=Zapis[k].Ime
end;
end;

procedure TForm1.BtnSledeciClick(Sender: TObject);
var
j:integer;
begin
for j:=1 to 8 do
begin
Edit1.Text:=Zapis[j].Ime;
end;
end;

end.

Ivan :)
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Pitanje oko zapisa,tj record-a!!!!12.04.2005. u 18:57 - pre 231 meseci
Code:
procedure TForm1.BtnPredhodniClick(Sender: TObject);
var
k:integer;
begin
for k:=1 to 8 do
begin
Edit1.Text:=Zapis[k].Ime
end;
end


i ovo:

Code:

procedure TForm1.BtnSledeciClick(Sender: TObject);
var
  j:integer;
begin
  for j:=1 to 8 do
    begin
      Edit1.Text:=Zapis[j].Ime;
    end;
end;



je isto kao da si napisao:

Code:

procedure TForm1.BtnPredhodniClick(Sender: TObject);
begin
   Edit1.Text:=Zapis[8].Ime
end.


Negde (u nekoj varijabli) moras da cuvas poziciju gde se trenutno nalazis.
Zatim uvecavanjem ili smanjivanjem te varijable se kreces kroz record. Kada je smanjis (ili uvecas) u proceduri, onda kazes: edit1.text:=zapis[velicina].ime

Ma bolje uploaduj program pa da ispravimo.

 
Odgovor na temu

osmica
Beograd

Član broj: 38009
Poruke: 74
62.108.111.*

Sajt: www.imagenedthe.com


Profil

icon Re: Pitanje oko zapisa,tj record-a!!!!12.04.2005. u 20:22 - pre 231 meseci
Nisam skonto sta si mislio pod tim uploadom?
Code:

procedure TForm1.BtnPredhodniClick(Sender: TObject);
var
k,m:integer;
begin
m=0;
m=m-1;
m=k;
for k:=1 to 8 do
begin
Edit1.Text:=Zapis[m].Ime
end;

Neznam dali bih ovako moglo,ja nemam net u stanu pa nemogu da probam dali radi,mene je uvek bunilo to kada treba da zapamtim pa uvecam neku varijablu,mislim da ipak ovo nece raditi!Na koji nacin da pamtim tu varijablu,a mislim da znam kako cu je uvecam,mislim!
Ivan :)
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Pitanje oko zapisa,tj record-a!!!!12.04.2005. u 22:32 - pre 231 meseci
Samo sam ti rekao da okacis ceo kod (sve fajlove iz tvog direktorijuma) na forum.
Znaci ono, zipujes direktorijum i uploadujes(stavis) na forum, tako sto kliknes na upload fajla (dole na dnu poruke). Neko ce to da uzme, preradi i vrati na forum.

Tako ces najbolje da naucis kako treba da se radi, posto koliko vidim ovaj tvoj kod nema veze sa vezom.Pomocicemo ti koliko mozemo i znamo.

Pozdrav
 
Odgovor na temu

osmica
Beograd

Član broj: 38009
Poruke: 74
62.108.111.*

Sajt: www.imagenedthe.com


Profil

icon Re: Pitanje oko zapisa,tj record-a!!!!13.04.2005. u 12:21 - pre 231 meseci
Evo malo sam izmeni code,i uspeo da namestim da se krecem kroz record,ali velicine koju mi vrati kad se krecem nisu velicine koje sam uneo,nego nesto sasvvim trece!
Code:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    BtnSnimi: TButton;
    BtnNovi: TButton;
    BtnSledeci: TButton;
    BtnPredhodni: TButton;
    procedure BtnSnimiClick(Sender: TObject);
    procedure BtnNoviClick(Sender: TObject);
    procedure BtnPredhodniClick(Sender: TObject);
    procedure BtnSledeciClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
type
 TProba = record
    Ime : string[30];
end;
var
  Form1   :  TForm1;
  Zapis   :  array[1..8] of TProba;
  Pocetna :  integer = 0;
implementation

{$R *.dfm}

procedure TForm1.BtnSnimiClick(Sender: TObject);
begin
 if
   MessageDlg('Snimi text?',mtConfirmation,[mbYes,mbNo],0)=MrNo
 then
   Exit
 else
   begin
     Zapis[1].Ime:=Edit1.Text;
   end;
end;

procedure TForm1.BtnNoviClick(Sender: TObject);
begin
 if
   MessageDlg('Novi zapis?',mtConfirmation,[mbYes,mbNo],0)=MrNo
 then
   Exit
 else
   Edit1.Clear;
end;

procedure TForm1.BtnPredhodniClick(Sender: TObject);
 var
   i:integer;
begin
 for i:=1 to 8 do
   begin
     Pocetna:=Pocetna - i;
     Edit1.Text:=Zapis[Pocetna].Ime;
   end;
end;

procedure TForm1.BtnSledeciClick(Sender: TObject);
 var
   j:integer;
begin
 for j:=1 to 8 do
   begin
     Pocetna:=Pocetna + j;
     Edit1.Text:=Zapis[Pocetna].Ime;
   end;
end;

end.

A i evo upload :
Ivan :)
Prikačeni fajlovi
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Pitanje oko zapisa,tj record-a!!!!13.04.2005. u 13:42 - pre 231 meseci
Ovo sto sam ispravio dobro pogledaj. Na formu sam ti stavio pracenje vrednosti varijabli, pa ces valjda nesto nauciti.

Da budes siguran da si shvatio probaj da dodas proceduru za brisanje zapisa.
Obrati paznju na zadnji, zapis i vodi racuna o pokazivacu na trenutnu poziciju, inace ako izbrises zadnji zapis, a pokazivac je na njemu, ukupan broj zapisa ce ti biti na primer 7, a pokazivac ce stajati na 8.
Prikačeni fajlovi
 
Odgovor na temu

bondja

Član broj: 10286
Poruke: 167
*.adsl.sezampro.yu.



+3 Profil

icon Re: Pitanje oko zapisa,tj record-a!!!!13.04.2005. u 13:47 - pre 231 meseci
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
BtnSnimi: TButton;
BtnNovi: TButton;
BtnSledeci: TButton;
BtnPredhodni: TButton;
procedure BtnSnimiClick(Sender: TObject);
procedure BtnNoviClick(Sender: TObject);
procedure BtnPredhodniClick(Sender: TObject);
procedure BtnSledeciClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

type
TProba = record
Ime : string[30];
end;
var
Form1 : TForm1;
Zapis : array[1..8] of TProba;
Trenutni : integer = 1; // gleda gde se trenutno nalazis
implementation

{$R *.dfm}

procedure TForm1.BtnSnimiClick(Sender: TObject);
begin
if MessageDlg('Snimi text?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
Zapis[Trenutni].Ime := edit1.Text;
end;

procedure TForm1.BtnNoviClick(Sender: TObject);
begin
if MessageDlg('Novi zapis?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
Edit1.Clear;
end;

procedure TForm1.BtnPredhodniClick(Sender: TObject);
var
aPrethodni: integer;
begin
// nalazimo index clana koji je pre trenutnog, odnosno prethodni:
aPrethodni := Trenutni - 1;

if 1 <= aPrethodni then // ne mozes da ides ISPOD granica Zapis: array[1..8] <---
begin
Self.Caption := Zapis[aPrethodni].Ime;
Trenutni := aPrethodni;
end;
end;

procedure TForm1.BtnSledeciClick(Sender: TObject);
var
aSledeci: integer;
begin
// nalazimo koji je sledeci:
aSledeci := Trenutni + 1;

if aSledeci <= 8 then // ne mozes da ides IZNAD granica Zapis: array[1..8] <---
begin
self.Caption := Zapis[aSledeci].Ime;
Trenutni := aSledeci;
end;
end;


end.
 
Odgovor na temu

osmica
Beograd

Član broj: 38009
Poruke: 74
62.108.111.*

Sajt: www.imagenedthe.com


Profil

icon Re: Pitanje oko zapisa,tj record-a!!!!15.04.2005. u 12:45 - pre 231 meseci
E Toyo hvala puno,skontao sam,okacio sam primer,malo sam ga izmenuo,ajde pogledaj kako sam uradio,i ako hoces da uradis na tvoj nacin,samo da vidim kako bi ti uradio.Ono sa labelama mi je pomoglo,dobra ideja.Hvala poz!
Ivan :)
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Pitanje oko zapisa,tj record-a!!!!

[ Pregleda: 2512 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.