Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Windows textdatei per knopfdruck direkt verändern ..... (https://www.delphipraxis.net/59819-windows-textdatei-per-knopfdruck-direkt-veraendern.html)

poltergeistx 29. Dez 2005 01:47


Windows textdatei per knopfdruck direkt verändern .....
 
SO, also ich wollt mal fragen, wie das geht, dass ich wenn ich in eine textdatei schreiben will direkt im windows ordner .. OHNE den ganzen pfad zum windows ordner angeben zu müssen .

dass heisst

button click --> SOFORT zum Windows verzeichniss
dann /pfad/text.txt <<-- diese datei verändern mit edit1.texteingabe

3_of_8 29. Dez 2005 01:49

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Wie willst du das machen? Meinst du einen TOpenDialog? Da musst du dir den Windows Pfad auslesen und dann OpenDialog1.InitialDir auf den Windows Pfad setzen.

poltergeistx 29. Dez 2005 01:54

Re: Windows textdatei per knopfdruck direkt verändern .....
 
also bin noch ziemlich anfänger ;)

ich habe eine form ein button und ein edit feld ! [LOoL]

dann möchte ich, sobald auf diesen Button geklickt wird , das was in dem edit feld steht in eine textdatei geschrieben wird im WINDOWS ordner ;)

Nur möchte ich nicht den langen pfad angeben zu windows sondern SOFORT INS WINDOWS VERZEICHNISS wechseln

hoffenltich verständlich geschrieben ;)

alcaeus 29. Dez 2005 01:57

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Moin poltergeist,

guck dir in der Hilfe mal die Befehle [oh]AssignFile, Reset, Rewrite, Write, Read, CloseFile[/oh] an. Mit denen kannst du in Dateien schreiben bzw. daraus lesen.

Greetz
alcaeus

3_of_8 29. Dez 2005 02:00

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Du schreibst folgende Prozedure in deine Unit:

Delphi-Quellcode:
function GetWinDir: String;
var
  Dir: String;
  Len: DWord;
begin
  SetLength(Dir,MAX_PATH);
  Len:=GetWindowsDirectory(PChar(Dir),MAX_PATH);
  if Len>0 then
  begin
    SetLength(Dir,Len);
    Result:=Dir;
  end
  else
    RaiseLastOSError;
end;
Dann machst du memo1.savetofile(GetWinDir+filename);

Wobei filename ein Dateiname ist, sowie 'test.txt';

poltergeistx 29. Dez 2005 02:06

Re: Windows textdatei per knopfdruck direkt verändern .....
 
:wiejetzt: :wiejetzt: :wiejetzt:

lol, ja ok sorry aber das ist mir zu kompliziert :stupid: :wall: :wall: :wall:
ein kleines test-programm könnte da schon weiter helfen ..
mit source ;)

(sorry aber bin noch ziemlich Anfänger :roll: )
Ich kenne zwar auch schon vieles aber naja ....

eben nicht alles :roll:
---------------------------------

3_of_8 29. Dez 2005 02:08

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Aaalso: Klicke auf deinen Button doppelt, dann erscheint ein Code: procedure Button1Click oder so ähnlich. Schreib darüber den Code:

Delphi-Quellcode:
function GetWinDir: String;
var
  Dir: String;
  Len: DWord;
begin
  SetLength(Dir,MAX_PATH);
  Len:=GetWindowsDirectory(PChar(Dir),MAX_PATH);
  if Len>0 then
  begin
    SetLength(Dir,Len);
    Result:=Dir;
  end
  else
    RaiseLastOSError;
end;
Dann schreib in die Prozedur Button1Click zwischen begin und end; folgendes:

Delphi-Quellcode:
memo1.savetofile(GetWinDir+filename);

poltergeistx 29. Dez 2005 02:11

Re: Windows textdatei per knopfdruck direkt verändern .....
 
okay habs doch noch kapiert danke dir ich probier das jetzt mal schnell falls es noch probleme gibt meld ich mich cu
und danke nochmals ;)

jbg 29. Dez 2005 02:12

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Zitat:

Zitat von poltergeistx
lol, ja ok sorry aber das ist mir zu kompliziert

Na dann solltest du dir ein paar Anfänger Tutorials durchlesen von denen es Unmengen im Internet gibt. Denn sowas wie GetWinDir() ist mehr oder weniger nur Tipparbeit.

Noch was zu deinem Vorhaben mit dem Windows-Verzeichnis. Da sollte man nichts reinschreiben, da es sehr wahrscheinlich ist, dass man dort keine Schreibrechte hat (eingeschränkter Benutzer).

poltergeistx 29. Dez 2005 02:16

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Okay,
trotzdem kann ich in meine dateien wie zb textdateien reinschreiben ...
geht ja auch wenn man als admin angemeldet ist oder ??? ...

achja und zu dem code :

wenn ich kompiliere kommt folgendes :

Undeclared identifier Savetofile

und so sieht das ganze bei mir aus jetzt :


--------------------------------------------------------------------------
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function GetWinDir: String;
var
  Dir: String;
  Len: DWord;
begin
  SetLength(Dir,MAX_PATH);
  Len:=GetWindowsDirectory(PChar(Dir),MAX_PATH);
  if Len>0 then
  begin
    SetLength(Dir,Len);
    Result:=Dir;
  end
  else
    RaiseLastOSError;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.savetofile(GetWinDir+filename);
end;

end.
--------------------------------------------------------------------------

3_of_8 29. Dez 2005 02:18

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Sorry: memo1.lines.savetofile.

Und setz deinen Code doch bitte in [delphi]-Tags.

poltergeistx 29. Dez 2005 02:23

Re: Windows textdatei per knopfdruck direkt verändern .....
 
okay dann probier ich das jetzt mal ;)

poltergeistx 29. Dez 2005 02:27

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Ok jetzt folgendes was hab ich da schon wieder falsch gemacht ???


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.lines.savetofile(GetWinDir+filename);
error :

Undeclared identifier 'filename'

3_of_8 29. Dez 2005 02:28

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Na ganz einfach: Für Filename musst du den Namen deiner Datei einsetzen. Also z.B. 'test.txt'. Also die Datei, in die du den text abspeichern willst.

poltergeistx 29. Dez 2005 02:32

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Okay capice ;) danke euch :)

Dieses File muss ja keine txt datei sein oder doch ???

3_of_8 29. Dez 2005 02:33

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Ja, aber du musst auch einen Dateinamen angeben. Der Ordner Windows ist schon dabei, aber filename muss jetzt noch ein Dateiname sein. Versuch mal mit dem Texteditor eine Datei in den Ordner C:\ abzuspeichern ohne dabei einen Dateinamen anzugeben. Gedned.

poltergeistx 29. Dez 2005 02:44

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Okay geht doch nichts ...

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.lines.savetofile(GetWinDir+text.txt);
end;

end.

undeclared identifier text :spin2: :spin2:


EDIT !!!! :

Ok sorry mein fehler habe .txt noch mit dabeigemacht einfach dateiname reicht wohl ;)

jetzt klappts perfekt THX :angel:

3_of_8 29. Dez 2005 02:45

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Nein, völlig egal. Es muss nichtmal eine Endung haben.

poltergeistx 29. Dez 2005 02:48

Re: Windows textdatei per knopfdruck direkt verändern .....
 
bei

memo1.lines.savetofile(GetWinDir+text.name_des_txt dokumentes); <<<--- FALSCH !!!


memo1.lines.savetofile(GetWinDir+name_des_txtdokum entes); <<<-- RICHTIG !!!

den unterschied sieht man ja ;)

3_of_8 29. Dez 2005 03:05

Re: Windows textdatei per knopfdruck direkt verändern .....
 
Neeein, falsch.
memo1.lines.savetofile(GetWinDir+'test.txt');

Du solltest dir wirklich mal ein Grundlagentutorial durchlesen, Stringkonstanten ist wirklich essentiell bevor du ein Programm schreibst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz