danz67
asked on
DELPHI - Memo add item count
Hi,
I enter 10 lines in the memo,
I attach the code I have done
I would like to make a loop that fits the amount of rows that is included in variable RIGHE_VUOTE with null values
I enter 10 lines in the memo,
I attach the code I have done
I would like to make a loop that fits the amount of rows that is included in variable RIGHE_VUOTE with null values
missing code?
No code attached !
procedure Tform1.PadMemoLines(mem: TMemo; linecount: integer);
begin
linecount := linecount - mem.Lines.Count; // remove this line if you want to add x lines, not target total of x lines
while linecount > 0 do
begin
mem.Lines.Add(''); // add "null" (empty) line
Dec(linecount);
end;
end;
in your proc
PadMemoLines(memo1, RIGHE_VUOTE);
begin
linecount := linecount - mem.Lines.Count; // remove this line if you want to add x lines, not target total of x lines
while linecount > 0 do
begin
mem.Lines.Add(''); // add "null" (empty) line
Dec(linecount);
end;
end;
in your proc
PadMemoLines(memo1, RIGHE_VUOTE);
ASKER
sorry :(
QTA_RICAMBI, RIGHE_VUOTE: integer;
Dati := TStringList.Create;
QTA_RICAMBI := qArticoliAss.RecordCount;
RIGHE_VUOTE := 10 - QTA_RICAMBI;
if RIGHE_VUOTE = 10 then
begin
codicericambio:= Format('%-20.20s|', ['']); //lunghezza 20
qta:= Format('%-2.2s|', ['']); //lunghezza 2
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
while not qArticoliAss.Eof do
BEGIN
codicericambio:= Format('%-20.20s|', [qArticoliAssCodice.AsString]); //lunghezza 20
qta:= Format('%-2.2s|', [qArticoliAssQuantita.AsString]); //lunghezza 2
flag:= Format('%-1.1s|', [qArticoliAssflag.AsString]); //lunghezza 1
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
{== FINE BLOCCO DATI RIGA S==}
// ripetere x 10 volte
qArticoliAss.Next;
END;
codicericambio:= Format('%-20.20s|', ['']); //lunghezza 20
qta:= Format('%-2.2s|', ['']); //lunghezza 2
if RIGHE_VUOTE = 1 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 2 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 3 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 4 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 5 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 6 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 7 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 8 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
if RIGHE_VUOTE = 9 then;
begin
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
end;
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER
great ;)
I'm not really getting what would you like to achieve.
You obviously have some record count from a database,
then you fill the Memo.
With all the records?
And now you would empty some of the lines? (as mush as defined by the parameter)
You may add an Italian explanation if feel easier.
You obviously have some record count from a database,
then you fill the Memo.
With all the records?
And now you would empty some of the lines? (as mush as defined by the parameter)
You may add an Italian explanation if feel easier.