Einzelnen Beitrag anzeigen

Sturmrider

Registriert seit: 12. Mär 2006
30 Beiträge
 
#7

Re: Textdatei einlesen u. drucken

  Alt 3. Apr 2006, 19:57
Na das von Detlef Brettschneider ^---^ bzw. den Source
Ich habe jetzt einfach mal das hier geschrieben, was ja dann eigentlich funktionieren müsste...
Aber das tut es leider nicht...es kommt ein Fehler: Undefinierter Bezeichner: 'Delimiter'.
Was ich vergessen habe zu erwähnen...ich Arbeite leider nur mit Delphi5 und bin leider schulisch gezwungen dabei zu bleiben...(auch wenns Delphi7 etc. kostenlos für Schüler/Studenten immer mal wieder auf der BornlandHP zum free Download gibt...)

Delphi-Quellcode:
procedure TForm1.DruckenClick(Sender: TObject);
var
  sl: TStrings;
  tf: TextFile;
  s: string;
begin
  sl := TStringList.Create;
  sl.Delimiter := '|';
  AssignFile('posts.ini', tf);
  Reset( tf);
  while not eof( tf) do
  begin
    ReadLn( tf, s);
    sl.DelimitedText := s;
  end;
  CloseFile(tf);

    for i := 0 to sl.Count do
    begin
      StringGrid.Cells[i,j] := sl.Strings[i]
    end;
    inc(j);

    griddruck(stringgrid,0,0,1);


end;

procedure GridDruck(grd:TStringGrid;links,oben:word;scal:double);
var
  x,y,li,ob,re,un,waag,senk,h,a: integer;
  s: string;

function rech(i,j:integer):integer;
begin
  result:=round(((i*j) / 72) * scal);
end;

begin
  if scal > 0 then
  begin
    waag:=getdevicecaps(printer.handle,logpixelsx);
    senk:=getdevicecaps(printer.handle,logpixelsy);
    links:=rech(links,waag);
    oben:=rech(oben, senk);
    a:=rech(3,waag);
    li:=getdevicecaps(printer.handle,physicaloffsetx)+1+links;
    with printer do
    begin
      s:='Grid-Druck';
      title:=s;
      BeginDoc;
      canvas.font:=grd.font;
      canvas.font.size:=round((grd.font.size / 0.72) * scal);
      h:=canvas.textheight(s);
      canvas.pen.color:=$333333;
      for x:=0 to grd.colcount-1 do
      begin
        if grd.gridlinewidth > 0 then
        begin
          canvas.pen.style:=pssolid;
          canvas.pen.width:=1;
        end
        else
          canvas.pen.style:=psclear;
        ob:=getdevicecaps(printer.handle,physicaloffsety)+1+oben;
        re:=li+rech(grd.ColWidths[x]+1,waag);
        for y:=0 to grd.rowcount-1 do
        begin
          un:=ob+rech(grd.RowHeights[y]+1,senk);
          if (x < grd.fixedcols) or
             (y < grd.fixedrows) then
            canvas.brush.color:=grd.fixedcolor
          else
            canvas.brush.color:=grd.color;
          canvas.rectangle(li,ob,re,un);
          canvas.brush.style:=bsclear;
          canvas.textrect(rect(li+a,ob+1,re-a,un-1),
          li+a,ob+(un-ob-h)div 2,grd.Cells[x,y]);
          ob:=un;
        end;
        canvas.brush.color:=clwhite;
        canvas.pen.style:=psclear;
        canvas.rectangle(li,ob+1,re,ob+h);
        li:=re;
      end;
      enddoc;
    end;
  end;
end;
  Mit Zitat antworten Zitat