Avatar billede kennethv Nybegynder
16. august 2005 - 12:15 Der er 1 kommentar og
1 løsning

Tjekke om data kan være på papir før udprint.

Hej alle,

Jeg har en lille opgave, hvor jeg skal tjekke om data kan være på papir inden det udskrives, hvis det ikke kan skal det fortsætte på næste side. Jeg har 10 kolonner, hvor 4-6 er ord på forskellige sprog. 1-3 er position,varenummer og antal.
Jeg havde forstillet mig at jeg bliver nødt til at lave en løkke repeat..until hvor jeg "løber" den igennem 2 gange for at finde ud af om det kan være på papiret, men ved ikke om det er sådan at jeg burde. Jeg ved at jeg mangler at "sætte" Linecheked := true et sted, hvis det overhovedet skal være sådan. Jeg ved ikke hvordan jeg mere skal beskrive problemet anedet end det er code base rave report.

Min kode er:

procedure TForm1.RvSystem1Print(Sender: TObject);
var count, count1, count2, count3, count4,count5 : integer;
  PosNo,PosNo1,VareNo,VareNo1,Antal,Original,ListName,ColEN,ColSV,ColDE,ColFR,ColES,ColIT,ColDA : string;
  LookupRes: Variant;
  opts : TLocateOptions;
  LineChecked : boolean;
begin
  MemoBuf := TMemoBuf.Create;
  with Sender as TBaseReport do
  begin
    lDoHeader := True;
    Count4 := TableList.Count;
    Count5 := 0;
    for count := 0 to TableList.Count-1 do
    begin
      if tableList.Strings[Count] <> '' then
      begin
        ListName := TableList.Strings[Count];
        PosNo := copy(ListName,1,pos(';',ListName)-1);
        Delete(ListName,1,pos(';',ListName));
        vareNo := copy(ListName,1,pos(';',ListName)-1);
        Delete(ListName,1,pos(';',ListName));
        Antal := copy(ListName,1,pos(';',ListName)-1);
        Delete(ListName,1,pos(';',ListName));
        Original := ListName;
        if posNo = '0' then
        begin
          PosNo1 := PosNo;
          VareNo1 := VareNo;
        end;
        LookupRes := ADOTable1.Lookup('GB', Listname,'GB;SE;DE;FR;ES;IT;DA');
        repeat
          for count1 := 0 to 6 do
          begin
            case count1 of
              0 : begin
                    MemoBuf.PrintStart := 1.8; // Angiver hvor bred kolonnen er.
                    MemoBuf.PrintEnd := 3.1;
                  end;
              1 : begin
                    MemoBuf.PrintStart := 3.2;
                    MemoBuf.PrintEnd := 4.5;
                  end;
              2 : begin
                    MemoBuf.PrintStart := 4.6;
                    MemoBuf.PrintEnd := 5.9;
                  end;
              3 : begin
                    MemoBuf.PrintStart := 6;
                    MemoBuf.PrintEnd := 7.3;
                  end;
              4 : begin
                    MemoBuf.PrintStart := 7.4;
                    MemoBuf.PrintEnd := 8.7;
                  end;
              5 : begin
                    MemoBuf.PrintStart := 8.8;
                    MemoBuf.PrintEnd := 10.1;
                  end;
              6 : begin
                    MemoBuf.PrintStart := 10.2;
                    MemoBuf.PrintEnd := 11.5;
                  end;
            end;
            SetFont('Arial Narrow',12);
            Home;
            NewLine;
            NewLine;
            NewLine;
            MemoBuf.Text := LookupRes[count1];
            COLEN := MemoBuf.Text;
            COLFR := IntToStr(Memolines(Memobuf));
            COLFR := COLFR;
            COLES := IntToStr(LinesLeft);
            If LinesLeft < (MemoLines(MemoBuf) + 4) Then Begin
              NewPage;                        // Memo does NOT fit - force a new page
              lDoHeader := True;              // Re-Do the Header
            End;

            SetFont('Arial Narrow',9);
            PrintMemo(MemoBuf,0,false);
          end;
        until LineChecked;
Avatar billede kennethv Nybegynder
07. september 2005 - 17:45 #1
Lukker opgave!
Avatar billede kennethv Nybegynder
03. oktober 2005 - 14:10 #2
Opgave lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester