//op er Opendialog procedure TForm1.OpenClick(Sender: TObject); begin if Op.Execute then Editor.Lines.LoadFromFile('test.txt'); end;
//Sd er Savedialog procedure TForm1.SaveClick(Sender: TObject); begin if Sd.Execute then Editor.Lines.SaveToFile('test.txt');//hvis filen skal gemmes et andet sted 'c:\sti osv end;
stone -> med din kode til open/save dialog der kan man ikke åbne den fil man gerne vil, så får man fejl.
dominantafterdark -> de skal se sådan her ud:
//-> Gemmer det der står i en Memo til det du gerne vil procedure TForm1.Button1Click(Sender: TObject); begin if SaveDialog1.Execute then Memo1.Lines.SaveToFile(SaveDialog1.FileName); end;
//-> Åbner det du gerne vil i en Memo procedure TForm1.Button2Click(Sender: TObject); begin if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); end;
Grunden til at vi skriver "if" opendialog er at den så ikke laver fejl hvis brugeren ikke vælger noget.
Fik denneher kode her på E engang, som jeg bruger (kan ikke lige komme på hvem der leverede den):
procedure PrintTStrings(Lst : TStrings) ; var I, Line : Integer; begin I := 0; Line := 0 ; Printer.BeginDoc ; for I := 0 to Lst.Count - 1 do begin Printer.Canvas.TextOut(0, Line, Lst[I]);
{Font.Height is calculated as -Font.Size * 72 / Font.PixelsPerInch which returns a negative number. So Abs() is applied to the Height to make it a non-negative value} Line := Line + Abs(Printer.Canvas.Font.Height); if (Line >= Printer.PageHeight) then Printer.NewPage; end; Printer.EndDoc; end;
procedure TFmain.printmemo1Click(Sender: TObject); begin PrintTStrings(dbmemo1.lines); end;
procedure TForm1.Button1Click(Sender: TObject); begin if ColorDialog1.Execute then Memo1.Color := ColorDialog1.Color; //Denne gør Memo'en den farve du har valgt med ColorDialog1 end;
procedure TForm1.Button2Click(Sender: TObject); begin if ColorDialog2.Execute then Memo1.Font.Color := ColorDialog2.Color; //Denne gør teksten i Memo'en den farve du har valgt med ColorDialog2 end;
noget i stil med det her, men det er ikke særlig godt:
procedure TForm1.Button1Click(Sender: TObject); begin if PrintDialog1.Execute then with Printer do begin BeginDoc; Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200), 200, 200, Memo1.Lines.Text); EndDoc; end; end;
Til printeren ville jeg nok bruge janbb's svar, og så lige sætte "if PrintDialog1.Execute then" ind foran i knappen, så det ser sådan her ud:
procedure TFmain.printmemo1Click(Sender: TObject); begin if PrintDialog1.Execute then PrintTStrings(dbmemo1.lines); end;
Synes godt om
Ny brugerNybegynder
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.