Forums Neueste Beiträge
 

[NEU] IniRead_include

13/01/2009 - 15:34 von Hermann Hippen | Report spam
Moin Moin :-),

So, eigentlich wird dies wirklich nur in noch zu erstellenden Scripten
benötigt, also von den Bastlern hier, aber falls schon jemand Scripte
baut, habe ich diese Funktion auch mal aus meinem BM genommen und eine
Include daraus gemacht, der Vollstàndigkeit halber, falls es jeamnd
brauchen kann.

Aufruf zum Beispiel mit:

WrapLine := StrToInt(IniRead('settings.ini','General','WrapAt'));
(Das Ergebnis liefert immer einen String, also muss hier umgewandelt
werden)
Ergebnis wàre bei mir dann: 73

oder

DialogPfad:= IniRead('settings.ini','Programmpfad','Stammpfad');
( hier kann es dann so bleiben )
und hier wàre mein Ergebnis: N:\Programme\40tude Dialog\

Also, wer es braucht:

8<--[ IniRead_include ]-->8
// FileName: IniRead_Include - Stand 13.01.2009
//
// IniFileName = Name der Datei z.B. settings.ini
// IniTitel = Überschrift der Rubrik in der IniDatei
// IniName = Name des Eintrags in der Ini
//
// Wird IniName gefunden wird der Inhalt zürückgegeben ansonsten ''.
//-
Function IniRead(IniFileName,IniTitel,IniName:String):String;
Var
IniFile : TextFile;
Search : String;
FoundRubrik ,FoundName: Boolean;
Begin
Result := '';
FoundName := False;
FoundRubrik:= False;
IniTitel := '[' + IniTitel + ']' // IniTitel auf Standard Rubrik Format trimmen
AssignFile(IniFile,IniFileName); Reset(IniFile); // Gewünschte Datei öffnen
// Suche Rubrik
Repeat
TextReadLn(IniFile,Search);
If IniTitel = Trim(Search) Then FoundRubrik := True; // Rubrik gefunden, dann weiter bei
// Namen suchen
Until Eof(IniFile) or FoundRubrik;

If FoundRubrik Then // Wenn Rubrik gefunden, dann...
Begin
Repeat
TextReadLn(IniFile,Search); // suchen wir innerhalb der Rubrik nach dem
// nach dem gewünschten Namen.
If Pos(IniName,Search) > 0 Then FoundName := True; // gefunden, dann weiter zur
// Ergebnisaufbereitung
Until Eof(IniFile) or // Stop wenn Ende der Datei erreicht ist oder
FoundName or // das Gewünschte gefunden wurde oder
(Pos('[',Search) > 0); // eine neue Rubrik beginnt

If FoundName Then // Name wurde gefunden - ResultString mit dem Ergebnis
Begin // wird aufbereitet...
Search := Trim( Copy( Search, Pos('=',Search) + 1, Length(Search) ));
If Pos('"',Search) > 0 Then Search := StringReplace(Search,'"','',[rfReplaceAll]);
Result := Search; // fertiges Ergebnis im Rückgabestring
End;
End;
CloseFile(IniFile); // Datei wieder schliessen und fertig.
End;
8<-->8




Cu,
Hermann Hippen.
ž' š°º€ø?žžžžž?ø€º°š 'ž
ø€º° '<http://4ds.siteboard.eu>' °º€ø
'ž '40tude-Dialog Scriptwerkstatt' ž'
ø€º°' ž ž ø€º°ššššššš°º€øšž ž '°º€ø
 

Lesen sie die antworten

#1 Wolfgang Bauer
13/01/2009 - 20:09 | Warnen spam
Servus Hermann.
Hermann Hippen wrote:

Moin Moin :-),

So, eigentlich wird dies wirklich nur in noch zu erstellenden Scripten
benötigt, also von den Bastlern hier, aber falls schon jemand Scripte
baut, habe ich diese Funktion auch mal aus meinem BM genommen und eine
Include daraus gemacht, der Vollstàndigkeit halber, falls es jeamnd
brauchen kann.



Ich habe in den letzten Tagen hier nicht so intensiv gelesen. Ist das im
Moment schon relevant für mich oder fließt das in kommende Basis_Modul
und Swiss_Knif ein?

Du schreibst ja -
| eigentlich wird dies wirklich nur in noch zu erstellenden Scripten
| benötigt

Freundliche Grüße
Wolfgang
http://www.wolfgang-bauer.at
40tude-Dialog DER Newsreader unter Windows http://dialog.datalist.org/
news:de.comm.software.40tude-dialog
40tude-Dialog Forum http://4ds.siteboard.eu/

Ähnliche fragen