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
danz67Asked:
Who is Participating?
 
cyberkiwiConnect With a Mentor Commented:

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
	while RIGHE_VUOTE > 0 do
      begin
        Dati.Add('S|'+Numero_Rapportino+codicericambio+qta+flag);
		Dec(RIGHE_VUOTE);
      end;

Open in new window

0
 
cyberkiwiCommented:
missing code?
0
 
jimyXCommented:
No code attached !
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
cyberkiwiCommented:
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);
0
 
danz67Author Commented:
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;

Open in new window

0
 
danz67Author Commented:
great ;)
0
 
SmukecCommented:
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.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.