Avatar billede uthsen Nybegynder
29. august 2004 - 10:13 Der er 8 kommentarer og
2 løsninger

Gem tekst fil

Dette skulle gerne gemme en tekstfil med bestemt navn.
Hvis filen findes i forvejen skal der  skiftes til punkt: Gem Som
Ellers skal filen bare gemmes
I øjeblikket skiftes der altid til punkt : Gem Som, hvorefter filen gemmes!

Hvordan retter jeg det?



procedure TStart.GemMenuClick(Sender: TObject);
    var
    Dialogtekst:string;

  begin

        SaveDialog.FileName := Table1Dato.text +' ' + Table1Titel.text  ;
      if SaveDialog.Execute then

    DBRichEdit1.Lines.SaveToFile(SaveDialog.FileName);
    DBRichEdit1.Modified := False;
      if  FileExists(SaveDialog.FileName) then
      begin

              if FileExists(SaveDialog.FileName) then
    GemSomMenuClick(Sender);
    exit
            end

            else

              if not  FileExists(SaveDialog.FileName) then
      begin

          DBRichEdit1.Lines.SaveToFile(SaveDialog.FileName);
            exit;

          end;

****************************
Og spg.2
Tekstfilerne gemmes i min program mappe. Hvad nu, hvis jeg gerne vil have savedialogen til at starte i en bestemt mappe "Noter", således tekstfilerne gemmes her. Hvordan gør man det?
Avatar billede busschou Praktikant
29. august 2004 - 10:31 #1
du kan rette den mappe som save dialogen starter op i med kommandoen InitialDir .. fx
SaveDialog1.InitialDir := 'c:\';
Avatar billede uthsen Nybegynder
29. august 2004 - 10:44 #2
Tak for det!
Kan du ikke løse det første spørgsmål?
Avatar billede busschou Praktikant
29. august 2004 - 11:05 #3
det ved jeg ikke om jeg umiddelbart kan.... men har du ikke en masse unødige if statements?.. er følgende ikke det samme:
if  FileExists(SaveDialog.FileName) then
  begin
    GemSomMenuClick(Sender);
    exit
  end
else
  begin
    DBRichEdit1.Lines.SaveToFile(SaveDialog.FileName);
    exit;
  end;
Avatar billede uthsen Nybegynder
29. august 2004 - 11:20 #4
jo
Avatar billede hrc Mester
29. august 2004 - 16:45 #5
Eller endnu mere komprimeret:

if  FileExists(SaveDialog.FileName) then
  GemSomMenuClick(Sender)
else
  DBRichEdit1.Lines.SaveToFile(SaveDialog.FileName);
Avatar billede uthsen Nybegynder
29. august 2004 - 19:39 #6
Det er fint hrc, men nu gemmes en ny tekstfil blot uden txt til efternavn.
Gemmer jeg så igen, gås der rigtig not til GemSom og filen gemmes nu med sit efernavn.
Altså, der ligger 2 filer i mappen:
1 med efternavn og 1 uden efternavn
Avatar billede uthsen Nybegynder
29. august 2004 - 21:06 #7
Harselv løst problemet
Avatar billede uthsen Nybegynder
29. august 2004 - 21:09 #8
med:
procedure TStart.GemMenuClick(Sender: TObject);
    var
    Dialogtekst:string;

  begin

      SaveDialog.InitialDir := 'Noter';
        SaveDialog.FileName := Table1Dato.text +' ' + Table1Titel.text  ;
          if SaveDialog.Execute then
    if  FileExists(SaveDialog.FileName) then

        begin
            if FileExists(SaveDialog.FileName) then
          Dialogtekst :=  'Skal Filen Overskrives?'  ;
      if Application.MessageBox(PChar(DialogTekst),'Design Uthsen ',

                    MB_YESNO + MB_ICONQUESTION) = IDYES then
                  DBRichEdit1.Lines.SaveToFile(SaveDialog.FileName);

    OpdaterFilNavn(SaveDialog.FileName);
    DBRichEdit1.Modified := False;
        Exit;

  end


else
      begin

          DBRichEdit1.Lines.SaveToFile(SaveDialog.FileName);
    exit ;

      end;


end;
Avatar billede uthsen Nybegynder
29. august 2004 - 21:12 #9
j
Avatar billede uthsen Nybegynder
29. august 2004 - 21:12 #10
j
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