Salve a tutti!Sono nuovo del forum e volevo porvi questo mio problemino.
Premetto che sono all'inizio del quarto anno di ITIS e al secondo di informatica.
Il professore mi ha dato un compito abbastanza facile (da sviluppare in Lazarus,freepascal),che faccia semplici cose.
In pillole:
Vi sono 4 campi edit,ognuno con nome,cognome,anni e altezza da inserire.
Questi dati poi vanno ordinati in una Tmemo,fino a qui nessun problema!
Ho ragionato anche come fare a scrivere nella prima linea della Tmemo,e ho creato un bottone aggiuntivo per cancellare il contenuto della memo.Ne ho creato anche un altro per far si che si svuotino le edit,e si inseriscano più persone nella memo stessa (tutte funzioni addizionali,miro ad un voto alto!).
Ora,la funzione più complessa del programma è quella che,inserito il cognome in una quinta edit,questo faccia riferimento alla persona della Tmemo,e la cancelli!In caso di cognomi doppi deve cancellare solo la prima che trova...come si fa??
Io ho provato ma non mi esegue niente sto bottone!Posto qui in basso tutte le istruzioni fatte da me,correggetemi e consigliatemi in tutte!!!
Grazie dell'attenzione
(Il bottone a cui faccio riferimento è il TForm1.Button2)
implementation
VAR
persona:record
cognome:string[15];
nome:string[15];
eta:integer;
altezza:real;
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
persona.cognome:=edit1.text;
persona.nome:=edit2.text;
persona.eta:=strtoint(edit3.text);
persona.altezza:=strtofloat(edit4.text);
memo1.lines.add(persona.cognome+' '+persona.nome+','+inttostr(persona.eta)+' anni - '+floattostr(persona.altezza)+'m');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
cancella:string;
lun:integer;
poz:integer;
i:integer;
luno,ldue:integer;
Line:string;
begin
cancella:=edit5.text;
for i:=0 to 100 do
begin
poz:=pos(cancella,persona.cognome);
luno:=length(persona.cognome);
ldue:=length(cancella);
Line:=Memo1.Lines[i];
lun:=length(Line);
if luno=ldue then
if poz=1 then delete(Line,1,lun)
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.text:='';
edit2.text:='';
edit3.text:='';
edit4.text:='';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Memo1.lines.text:='';
end;