AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) ich hab eine art Rätsel (.txt wird zweimal angezeigt)

ich hab eine art Rätsel (.txt wird zweimal angezeigt)

Ein Thema von Finki · begonnen am 8. Aug 2013 · letzter Beitrag vom 9. Aug 2013
 
Finki

Registriert seit: 2. Jul 2013
120 Beiträge
 
FreePascal / Lazarus
 
#1

ich hab eine art Rätsel (.txt wird zweimal angezeigt)

  Alt 8. Aug 2013, 06:55
Hey ich sitz jetzt schon zwei tage an dem bug und ich komm nicht drauf (ist auch eine sache wo mir das internet nicht helfen kann)

und zwar gibt es den button btnSave und über den kann man eine Memo speichern, das problem ist das die erstellte datei am beispiel vorgegebenem Speichername ist text ausgewähltes dateiformat ist Text(*.txt) dann heist die datei im explorer nachher Text.txt.txt. warum

ist die unit für das MainFrame

Delphi-Quellcode:
unit MainFrame;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
  ExtCtrls, StdCtrls, Buttons, ComCtrls, Library_U, types;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton; //button zum probieren
    Edit1: TEdit; //Edit Feld zum sachen testen
    Edit2: TEdit; //Edit Feld zum sachen testen
    Image1: TImage;
    btnNew: TSpeedButton;
    btnOpen: TSpeedButton;
    btnSave: TSpeedButton;
    btnSaveAs: TSpeedButton;
    btnDrucken: TSpeedButton;
    btnFormular: TSpeedButton;
    Memo1: TMemo;
    Aktuelloffen: TMemo;
    Memo3: TMemo;
    OpenDialog: TOpenDialog;
    SaveDialog: TSaveDialog;
    btnExit: TSpeedButton;
    StatusBar: TStatusBar;
    TabCon: TTabControl;
    TBar: TToolBar;
    procedure btnExitClick(Sender: TObject);
    procedure btnFormularClick(Sender: TObject);
    procedure btnNewClick(Sender: TObject);
    procedure btnOpenClick(Sender: TObject);
    procedure btnSaveAsClick(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormChangeBounds(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
      MousePos: TPoint; var Handled: Boolean);
    procedure Memo1Change(Sender: TObject);
    procedure TabConChange(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

  //INTEGER
  btnbreit : integer;
  btnhoch : integer;
  tabindex01 : integer;

  //BOOLEAN
  change : boolean; // change gibt an ob der Text nach dem Speichern noch bearbeitet wurde
  save01 : boolean;

  //STRING
  savepath : string; // savepath ist eine zwischen Variable und den save Pfad abzuspeichern
  hist : string; // hist ist die variable die gebraucht wird um eine "History" also die letzte offene Datei zu begin anzuzeigen :D


implementation
uses
  FormularFrame;

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin

  btnbreit:=70;
  btnhoch:=62;
  change:=true;
  save01:=true;

   // Memo3

   if FileExists('history')=true then
   begin
     Memo3.Lines.Delete(0);
     Memo3.Lines.LoadFromFile('history');
     hist:=Memo3.Lines[0] + '.txt';
     Edit1.Text:=hist; // Controlle
   end;

   // Memo1

   if FileExists(hist)=true then
   begin
     Memo1.Lines.LoadFromFile(hist);
   end;
   Memo1.Focused;

   // TabCon

   TabCon.SetBounds(0,0,Form1.Width,42+TBar.Height);

   // btnNew

   btnNew.SetBounds(0,0,btnbreit,btnhoch);
   btnNew.Font.Size:=09;
   btnNew.Font.Name:='Calibri';

   // btnOpen

   btnOpen.SetBounds(btnNew.BoundsRect.Right+5,0,btnbreit,btnhoch);
   btnOpen.Font.Size:=09;
   btnOpen.Font.Name:='Calibri';

   // btnSave

   btnSave.SetBounds(btnOpen.BoundsRect.Right+5,0,btnbreit,btnhoch);
   btnSave.Font.Size:=09;
   btnSave.Font.Name:='Calibri';

   // btnSaveAs

   btnSaveAs.SetBounds(btnSave.BoundsRect.Right+5,0,btnbreit,btnhoch);
   btnSaveAs.Font.Size:=08;
   btnSaveAs.Caption:='Sichern Unter';
   btnSaveAs.Font.Name:='Calibri';

   // btnDrucken

   btnFormat(btnDrucken,btnSaveAs.BoundsRect.Right+5,0,btnbreit,btnhoch,09,'Calibri',true);

   // btnFormular

   btnFormat(btnFormular,0,0,btnbreit,btnhoch,09,'Calibri',false);

   // btnExit

   btnFormat(btnExit,TBar.Width,0,btnbreit,btnhoch,09,'Calibri',true);
   btnExit.Caption:='Schließen';

   // StatusBar
   if FileExists(hist)=true then
   begin
     StatusBar.Panels.Items[0].Text:=hist;
   end;


end;


procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  tabindex01:=TabCon.TabIndex;

  If (TabCon.TabIndex<2) then
  begin

    TabCon.TabIndex:=tabindex01+1;

  end;

end;

procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  tabindex01:=TabCon.TabIndex;

  If (TabCon.TabIndex>0) then
  begin

    TabCon.TabIndex:=tabindex01-1;

  end;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
  change:=true;
  button1.Caption:=booltostr(change); // TEST :D :D :D :D :D
end;

procedure TForm1.FormChangeBounds(Sender: TObject);
begin

  TabCon.SetBounds(0,0,Form1.Width,42+TBar.Height);

end;


// SICHERN

//btnSave
procedure TForm1.btnSaveClick(Sender: TObject);
begin

  if save01=true then
  begin
  Save(btnSave);
  end
  else
  begin
      Memo1.Lines.SaveToFile(savepath);
  end;

  Aktuelloffen.Lines.Delete(0);
  Aktuelloffen.Lines.Add('1');
  Aktuelloffen.Lines.Text := SysToUTF8(savepath);
  Aktuelloffen.Lines.SaveToFile('History');

end;

// ÖFFNEN


//btnOpen
procedure TForm1.btnOpenClick(Sender: TObject);
var
  open : string;
begin
  If OpenDialog.Execute then
  begin
  open:= OpenDialog.FileName;
  Memo1.Lines.LoadFromFile(open);


  Aktuelloffen.Lines.Delete(0);
  Aktuelloffen.Lines.Add('1');
  Aktuelloffen.Lines.Text := SysToUTF8(open);
  Aktuelloffen.Lines.SaveToFile('History');


  change:=false;
  end;
end;

procedure TForm1.btnExitClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.btnFormularClick(Sender: TObject);
begin
Form2 := TForm2.Create(Self);
Form2.ShowOnTop;
//Form1.Enabled:=false;

end;

procedure TForm1.btnNewClick(Sender: TObject);
begin
  Memo1.Lines.Clear;
end;

procedure TForm1.btnSaveAsClick(Sender: TObject);
begin
  Save(btnSaveAs);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  textb : boolean;
  texts : string;
  long, long01, i : integer;
begin
  long:= length(Edit1.Text);
  textb:=false;
  i:=1;
  repeat
    begin
        texts:=copy(Edit1.Text,long,i);
        long:= long-1;
        i:=i+1;
        if texts[1]='\then
        begin
          long01:= length(texts);
          texts:=copy(texts,2,long01-1);

          textb:=true;
        end;
    end;
  until textb=true;
  Edit2.Text:=texts;
end;


// REGISTER


procedure TForm1.TabConChange(Sender: TObject);
begin
  case TabCon.TabIndex of

    0: begin

      btnNew.Visible:=true;
      btnOpen.Visible:=true;
      btnSave.Visible:=true;
      btnSaveAs.Visible:=true;
      btnDrucken.Visible:=true;

      btnFormular.Visible:=false;

      btnExit.SetBounds(TBar.Width,0,btnbreit,btnhoch);

       end;

    1: begin

      btnNew.Visible:=false;
      btnOpen.Visible:=false;
      btnSave.Visible:=false;
      btnSaveAs.Visible:=false;
      btnDrucken.Visible:=false;

      btnFormular.Visible:=true;

      btnFormular.SetBounds(0,0,btnbreit,btnhoch);
      btnExit.SetBounds(TBar.Width,0,btnbreit,btnhoch);

       end;

    2: begin

     { btnNew.
      btnOpen
      btnSave
      btnSaveAs
      btnDrucken

      btnFormular
      btnNewFormular
      btnExit }



       end;

  end;
end;

end.
und hier die Library Unit

Delphi-Quellcode:
unit Library_U;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Buttons, Dialogs;

procedure btnFormat(AButton: TSpeedButton;
  posx, posy, btnbreite, btnhoehe: integer; sizeint : integer; fontname : string; sichtbar: Boolean);
procedure Save(Sender: TObject);

implementation

uses
  MainFrame;

procedure btnFormat(AButton: TSpeedButton;
  posx, posy, btnbreite, btnhoehe: integer; sizeint : integer; fontname : string; sichtbar: Boolean);
begin
  if AButton <> nil then
  begin
    AButton.SetBounds(posx,posy,btnbreite,btnhoehe);
    AButton.Caption := copy(AButton.Name, 4, MaxInt);
    AButton.Visible := sichtbar;
    AButton.Font.Size:=sizeint;
    AButton.Font.Name:=fontname;
  end;
end;

procedure Save(Sender: TObject);
var
  textb : boolean;
  texts : string;
  long, long01, i : integer;
begin
  case Form1.SaveDialog.FilterIndex of

    2: begin
        if Form1.SaveDialog.Execute then
        begin
        Form1.Memo1.Lines.SaveToFile(Form1.SaveDialog.Filename + '.docx');
        savepath := Form1.SaveDialog.FileName;
          long:= length(Form1.SaveDialog.FileName);
          textb:=false;
          i:=1;
          repeat
            begin
                texts:=copy(Form1.SaveDialog.FileName,long,i);
                long:= long-1;
                i:=i+1;
                if texts[1]='\then
                begin
                  long01:= length(texts);
                  texts:=copy(texts,2,long01-1);
                  textb:=true;
                end;
            end;
          until textb=true;
          Form1.Caption:=texts;
          Form1.StatusBar.Panels.Items[0].Text:=Form1.SaveDialog.Filename + '.docx';
          texts:='';
          change:=false;
          save01:=false;
       end;

       end;

    1: begin
        if Form1.SaveDialog.Execute then
        begin
        Form1.Memo1.Lines.SaveToFile(Form1.SaveDialog.Filename + '.txt');
        savepath := Form1.SaveDialog.FileName;
          long:= length(Form1.SaveDialog.FileName);
          textb:=false;
          i:=1;
          repeat
            begin
                texts:=copy(Form1.SaveDialog.FileName,long,i);
                long:= long-1;
                i:=i+1;
                if texts[1]='\then
                begin
                  long01:= length(texts);
                  texts:=copy(texts,2,long01-1);

                  textb:=true;
                end;
            end;
          until textb=true;
          Form1.Caption:=texts;
          Form1.StatusBar.Panels.Items[0].Text:=Form1.SaveDialog.Filename+ '.txt';
          texts:='';
          change:=false;
          save01:=false;
          Form1.Button1.Caption:=booltostr(change); // TEST :D : D: D: D: D: D: D: D: D

        end;

       end;

  end;
end;

end.
ich bin euch für eure hilfe echt dankbar
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz