![]() |
Hilfe für Ordnerschutzprogramm
Hi,
ich bin so ziemlicher Delphi-Anfänger. Aus den Büchern lernt man irgendwie nicht wirklich was. Deshalb dachte ich mir, ich könnt mir als Übung ein kleines Progg erstellen, welches aus 2 Knöpfen (Verstecken/Anzeigen) und der Ordnerangabe besteht und wie gesagt, Ordner auf Knopfdruck unsichtbar macht. Soll nix grosses mit Liste sein. Müsst ich mir selber merken, da ich eh nur 2-3 Ordner verstecken möchte am Anfang. Wär sowas schwer für einen Anfänger umzusetzen? Hat jemand gute Tips? :dancer: |
Re: Hilfe für Ordnerschutzprogramm
Schau mal
![]() |
Re: Hilfe für Ordnerschutzprogramm
Hab es jetzt so abgeändert, das ich zumindest schon
mal einen Ordner oder eine Datei, welche im code vorgegeben ist einmalig in ein Attribut setzen. Wie kann ich denn wenigstens eine Datei oder einen Ordner anwählen? Versteh das nicht! :wall: |
Re: Hilfe für Ordnerschutzprogramm
Um eine Datei auswählen zu können, kannst du OpenDialog verwenden. Die Hilfe müsste dir genug dazu sagen.
Wenn du hingegen einen Ordner auswählen willst, dann sieh dir mal diese zwei Möglichkeiten an: ![]() Greetz alcaeus |
Re: Hilfe für Ordnerschutzprogramm
Hierbei wird doch der ausgewählte Ordner in der Variable Pfad als String gespeichert, oder?
Delphi-Quellcode:
Den Code hier hab ich jetzt benutzt zum Attribute ändern.
uses FileCtrl;
... procedure TForm1.Button1Click(Sender: TObject); var Pfad: string; begin SelectDirectory('Ordner auswählen', '' ,Pfad); end; Geh ich richtig in der Annahme, das ich jetzt dort wo der Pfad steht die Varialbe mit dem Ordner einlesen muss?
Delphi-Quellcode:
Kann mir nebenbei auch noch jemand erklären wie ich dieses Prob mittels der Delphi-Hilfe lösen kann?
procedure TForm1.Button1Click(Sender: TObject);
begin if SetFileAttributes('C:\Dokumente und Einstellungen\sui\Desktop\Homepage', FILE_ATTRIBUTE_NORMAL) then Showmessage('Attribut wurde geändert') else Showmessage('Attribut wurde nicht geändert'); end; Wo ich da gucken muss und so? |
Re: Hilfe für Ordnerschutzprogramm
Also, es gibt hier auf dem Forum die [ delphi]-Tags, dadurch kann man Code leichter lesen. Nur damit du das mal kennst.
Zweitens, in der hilfe nimmst du die suche und suchst nach ordner, auswählen etc. dasselbe kannst du evtl. hier auf dem forum machen, dann bekommst du vielleicht schon 2-3 konkrete befehle. Achja, und die Code-Lib gibts hier ja auch noch, da findet man so ziemlich alles. Bezüglich deinem Problem, der Pfad des ausgewählten Ordners wird in der Pfad-Variable gespeichert. Das Ganze könnte dann so aussehen:
Delphi-Quellcode:
Den Code habe ich nicht getestet, aber er müsste laufen...
var Pfad: string;
begin SelectDirectory('Ordner auswählen', '' ,Pfad); if SetFileAttributes(Pfad, FILE_ATTRIBUTE_NORMAL) then Showmessage('Attribut wurde geändert') else Showmessage('Attribut wurde nicht geändert'); end; Greetz alcaeus |
Re: Hilfe für Ordnerschutzprogramm
@sui: Nutze doch bitte die [delphi]-Tags um Code darzustellen ;)
...:cat:... |
Re: Hilfe für Ordnerschutzprogramm
Mal ne Zwischenfrage:
Ich hab hier noch die alte Turbo Pascal 6 von Borland, das mit den 5 Büchern da. Weil ja Delphi das neue TurboPascal, (wenn auch verändert) ist, kann ich mit den Büchern nicht auch was anfangen? Da sind die Grundfunktionen wie Variablen, Schleifen und so schön erklärt. :-D Bringt mir das für den Anfang was? Gruss |
Re: Hilfe für Ordnerschutzprogramm
In einem bestimmten Maße ja, dir wird aber die Object Pascal Referenz fehlen, die gabs bei TP6 glaubich noch nicht...
Ansonsten ist für den Anfang Pascal immer zu empfehlen Greetz alcaeus |
Re: Hilfe für Ordnerschutzprogramm
Ok, ich schon wieder...
Habs jetzt soweit gebracht: :oops:
Delphi-Quellcode:
In den uses ist noch die FileCtrl eingebunden.
procedure TForm1.Button1Click(Sender: TObject);
var Pfad: string; begin SelectDirectory ('Ordner auswählen', '', Pfad); SetFileAttributes ('Pfad', FILE_ATTRIBUTE_SYSTEM and FILE_ATTRIBUTE_HIDDEN) end; Klappt aber nur soweit das ich einen Ordner auswählen kann. Jetzt bin ich mit meinem spärlichen Latein am Ende. :wall: Was ist dort falsch?? |
Re: Hilfe für Ordnerschutzprogramm
das muss
Delphi-Quellcode:
heissen, denn wenn du um die Variable Pfad die ' drummachst, wird das als hart-kodierter string angesehen...
SetFileAttributes (Pfad, FILE_ATTRIBUTE_SYSTEM and FILE_ATTRIBUTE_HIDDEN)
|
Re: Hilfe für Ordnerschutzprogramm
Das hatte ich schon probiert, dann bleibt der
Compiler hängen mit: Inkompatible Typen: 'String' und 'PAnsiChar' Verwendete Unit 'Unit1.pas' kann nicht kompiliert werden und der Coursor steht dann rot an der Stelle hinter dem Koma bei SetFileAttributes (Pfad, |
Re: Hilfe für Ordnerschutzprogramm
Moin Sui,
probier's mal mit der Suche ![]() Was dabei rauskommt müsste Dir eigentlich helfen. ;-) |
Re: Hilfe für Ordnerschutzprogramm
Sorry aber ich finds nicht. Mit der Suche hab ich doch
schon grösstenteils rausgefunden was ich jetzt da stehen hab. Und aus dem EasyDelphiHelper... Ich weiss echt nicht mehr weiter. Gebt mir wenigstens nen Wink mit dem Zaunpfahl, wo der Fehler ist oder obs grundlegend falsch ist was da steht! |
Re: Hilfe für Ordnerschutzprogramm
Moin Sui,
Du wirst in den Beiträgen (und noch vielen anderen) unweigerlich auf PChar treffen. API Funktionen kennen nichts von Pascal Strings, und deshalb lässt der Compiler String (auch ein Pointer wie PChar) diesen Typ an der Stelle nicht zu. Hier muss man ihm mit einem Typecast auf die Sprünge helfen:
Delphi-Quellcode:
wäre in diesem Falle die Lösung.
PChar(Pfad)
|
Re: Hilfe für Ordnerschutzprogramm
Ich find einfach nix passendes.
Schon ne menge, aber ich weiss nicht wie ichs übernehmen soll. Der String muss jetzt in pchar umgewandelt werden. Ich finds einfach nicht, wie ich es einsetzen muss. sui |
Re: Hilfe für Ordnerschutzprogramm
So sieht mein Code gerade aus:
Delphi-Quellcode:
[pre]procedure TForm1.Button1Click(Sender: TObject);
var Pfad : string ; begin if SelectDirectory ('Verzeichniss wählen', '', Pfad) then label1.caption :=Pfad; if SetFileAttributes ('Pfad', FILE_ATTRIBUTE_SYSTEM or FILE_ATTRIBUTE_HIDDEN) then showmessage ('Datei versteckt') else showmessage ('Nix wurde geändert'); end;[/pre] Kann mir das nicht bitte einfach jemand sagen wie ichs machen muss? Den String in PChar umwandeln? |
Re: Hilfe für Ordnerschutzprogramm
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Pfad : string; begin SelectDirectory ('Verzeichniss wählen', '', Pfad); if SetFileAttributes (PChar(Pfad), FILE_ATTRIBUTE_SYSTEM or FILE_ATTRIBUTE_HIDDEN) then showmessage ('Datei versteckt') else showmessage ('Nix wurde geändert'); end; |
Re: Hilfe für Ordnerschutzprogramm
Hey danke, super, klappt wunderbar. :bounce2: :bounce2:
Jetzt kann ich endlich mal weitermachen :dancer: |
Re: Hilfe für Ordnerschutzprogramm
Moin Sui,
Zitat:
Zitat:
|
Re: Hilfe für Ordnerschutzprogramm
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 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-2025 by Thomas Breitkreuz