Newsgroup: it.comp.lang.delphi
Titolo: Informazione Grazie

Salve ragazzi,
vorrei sapere perche' mi da' errore FIELD IDENTIFIER EXPECTED questo
listatino, premetto che e' da quattro giorni che uso delphi grazie per le
risposte
unit Unit1;
interface
uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Memo1: TMemo;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
Var
  a1,a2,a3,a4,a5,a6 : Integer;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Randomize;
repeat
a1 := random(90);
Label1.value := a1;
until a1<>0;
//Label2
repeat
a2 := random (90);
Label2.value := a2;
until (a2<>a1)and(a2<>0);
//Label3
repeat
a3 := random(90);
Label3.value := a3;
until (a3<>a1) and (a3<>a2) and (a3<>0);
//Label4
repeat
a4 := random (90);
Label4.value := a4;
until (a4<>a1) and (a4<>a2) and (a4<>a3) and (a4<>0);
//Label5
repeat
a5 := random (90);
Label5.value := a5;
until (a5<>a1) and (a5<>a2) and (a5<>a3) and (a5<>a4) and (a5<>0);
//Label6
repeat
a6:= random (90);
Label6.value := az;
until (az<>a1) and (az<>a2) and (az<>a4) and (az<>a5) and (az<>0);
memo1.Lines.Add(inttostr(a1) +' . '+inttostr(a2)+' . '+inttostr(a3)+' .
'+inttostr(a4)+' . '+inttostr(a5)+' . '+inttostr(az));
end;
end.
-- 
Posted from 
mta23-acc.tin.it
 [212.216.176.76] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Credo che prima dovresti indentare il codice così da renderlo più chiaro sia
a te che a noi.
Massimo

 listatino, premetto che e' da quattro giorni che uso delphi
E si vede ... ;)
Allora ... per cominciare l'errore è riferito al fatto che il componente
TLabel
NON ha la proprietà "Value"... per fare quello che vuoi tu devi usare la
proprietà "Caption" di TLabel, che è di tipo String. Devi quindi convertire
il tipo integer in String usando la funzione standard IntToStr,
che, ad esempio, si usa così :
Label1.Caption := IntToStr (a1);
Poi il codice sarebbe meglio identarlo in maniera un po' più leggibile (per
te e per chi legge),
separando i blocchi di codice, aggiungendo spazi prima di ogni riga a
seconda del "livello"
di nidificazione, ecc.
Ciao, se non ti è chiaro qualcosa, riscrivi pure :-)
Davide DG

 [snip]
In aggiunta a quello che ha già detto Davide DG:
forse invece di "az" dovevi scrivere "a6" ;-)
Poi scusa se mi permetto di darti un consiglio, ma se vuoi estrarre 5
numeri da 90 (una ruota del lotto, per intenderci), probabilmente c'è un
sistema migliore.
Come fai tu è già scomodo controllare i numeri già usciti, e sono solo
5; se volessi estrarli tutti e 90 in ordine casuale come fai? Dovresti
controllare ogni volta se il numero estratto è già uscito (a90<>a1 and
a90<>a2 etc etc fino a a90<>a89!!! E quando hai estratto 89 numeri devi
aspettare che il random() ti dia proprio il 90esimo...).
Io in genere creo un array che contiene i 90 numeri (o altro: se vuoi
estrarre 3 stati dai 50 degli USA funziona lo stesso...), poi li
randomizzo (scorro tutto l'array e per ogni elemento sostituisco il suo
valore con un altro scelto a caso; volendo si può ripetere più volte
questo passaggio), alla fine ho un array di 90 numeri in ordine casuale,
dal quale posso estrarre i primi 5 (o 10 o 20 o 90...).
Non l'ho mai scritto in Delphi, ma in Basic (dal Commodore64 al
Visual...) ho sempre fatto così, e mi sono trovato bene...
Saluti
--
Fernando Fiorenzano
Analista-Programmatore & Web Designer
http://web.tiscalinet.it/trecchina/

Ok,
Grazie mille
-- 
Posted from 
pop09-acc.tin.it
 [212.216.176.72] 
