Autor Beitrag
hansg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

Win XP Professional SP3, Vista Ultimate 32 SP1
Delphi 6 Professional
BeitragVerfasst: Do 16.01.03 18:30 
Hallo,
ich möchte in einer Anwendung die Daten von Eingabefeldern, die Zustände von Checkboxen / Radiobuttons ablegen.
Zum speichern und lesen möchtem ich die bewährten Dialoge verwenden.
Ich habe mir schon überlegt die Ini Funktion zu verwenden, bin aber davon ab da das normale Text Files ergibt die jeder bearbeiten kann.
Da dies für mich absolute Neuland bitte ich um Hilfe von den Profis.


Gruß Hans
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 16.01.03 19:48 
Kuck dir mal das Ini-Datei-Tutorial auf dieser Seite an.
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Do 16.01.03 19:54 
er will keine Ini's!!!, da die leicht veränderbar sind...

du kannst ja alles verschlüsseln und noch Unsinn mit in die Datei Packen...

müsstest nur für dein Programm was machen, dass es die richtigen sachen erkennen kann...

Fiji-Fighter
hansg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

Win XP Professional SP3, Vista Ultimate 32 SP1
Delphi 6 Professional
BeitragVerfasst: Sa 18.01.03 08:59 
Hallo zusammen,
ich habe mich jetzt entschlossen doch die Ini Funktion zu nehmen.

Jetzt habe ich noch 2 Fragen dazu:

1. Wie kann ich bei einem SaveDialog verhindern das eine vorhandene Datei überschrieben wird bzw. eine Bestätigungsabfrage kommt.

2. Da ich einige Sachen nicht im Klartext ablegen will packe ich einigen Unsinn mit rein, gibt es eine Methode bestimmte Zeichen in einem String zu ersetzten? quasi die Umkehr Methode von copy(String,1,4);


Gruß Hans
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Sa 18.01.03 09:52 
du kannst mit fileexists(string);:
ausblenden Quelltext
1:
function fileexists(filename:string):boolean;					


schauen ob die datei vorhanden ist...

den fragedialog hab ich gerade nicht parat...

schau mal in die Delphi Hilfe unter messages, da steht das drin...

werd auch mal selber mal schnell googeln..

Fiji-Fighter
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Sa 18.01.03 10:02 
ups :oops: ...da gabs noch nen zweiten Punkt...

die prozedur heisst insert('das wird eingefügt',stringindeneingefügtwird,Stellehinterderdueinfügenwillst);
ausblenden Quelltext
1:
procedure Insert(Source : string; var S : string; Index : Integer): string;					


zur Abfrage:
ausblenden Quelltext
1:
if MessageDlg('Willst du die Datei wirklich überschreiben???', mtConfirmation, [mbYes, mbNo], 0)=mryes then filespeichern;					


glaube, dass müsste funktionieren... :wink:

Fiji-Fighter
hansg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

Win XP Professional SP3, Vista Ultimate 32 SP1
Delphi 6 Professional
BeitragVerfasst: Sa 18.01.03 10:15 
@Fiji-Fighter,

das mit der Speichernabfrage habe ich gelöst :) , ich wollte im String keine Zeichen einfügen sondern bestimmte Zeichen ersetzten.

Oder habe ich das falsch verstanden :?:



Gruß Hans
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Sa 18.01.03 10:24 
nee ich hab wohl nicht richtig durchgelesen :oops:

also, dann suchst du wohl stringreplace:
ausblenden Quelltext
1:
2:
TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;


so was heisst das jetzt? hier mal ein Bsp:

ausblenden Quelltext
1:
stringreplace(stringvar,wasersetztwerdensoll,wirddurchdashierersetz,[rfreplaceall]);					


die Flags sind glaube ich selbsterklärend:
rfreplaceall:alle Vorkommen des gesuchten werden ersetzt
rfignorecas:groß und kleinschreibung nicht beachten

Fiji-Fighter
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 18.01.03 13:01 
Kuck mal in den Optionen vom Savedialog, da kannst du einstellen, ob er fragen soll, ob eine existierende datei überschrieben werden soll.
hansg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 168

Win XP Professional SP3, Vista Ultimate 32 SP1
Delphi 6 Professional
BeitragVerfasst: Sa 18.01.03 17:27 
Hallo,
ich glaube meine Frage wurde falsch verstanden.

Ich möchte aus einem String nur einzelne Zeichen ersetzten, nicht allle.

Beispiel:

Original String : 0123456789

ersetzter String: 0123056089

Gruß Hans
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Sa 18.01.03 21:19 
Hi,

habe gerade kein Delphi zu Hand, suche mal in der Hilfe von Delphi nach dem Befehl "StringReplace".
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 18.01.03 21:26 
bis11 hat folgendes geschrieben:
Hi,

habe gerade kein Delphi zu Hand, suche mal in der Hilfe von Delphi nach dem Befehl "StringReplace".

Wurde dieser äußerst interessante Vorschlag nicht schon mal wieter oben gemacht? :roll: