Link to home
Create AccountLog in
Avatar of danz67
danz67Flag for Italy

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
Avatar of cyberkiwi
cyberkiwi
Flag of New Zealand image

missing code?
Avatar of jimyX
jimyX

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);
Avatar of danz67

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;

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of cyberkiwi
cyberkiwi
Flag of New Zealand image

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
Avatar of danz67

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.