![]() |
Inifile Problem
N'Abend alle zusammen,
ich hab nen Problem mit meiner Prozedure, ich will mit ihr die Werte und Schlüssel einer bestimmten Sektion auslesen, leider scheint das nicht so ganz zu funktionieren, da er bei der Ausgabe des Arrays nichts angibt und beim zählen der Strings "0" ausgibt... Ich hoffe echt ihr könnt mir helfen, sitz schon ne Weile an dem Problem und bin zu blöd den Fehler zu finden ^^'
Code:
MfG Maximum
unit ULoad2;
interface uses SysUtils,StdCtrls, ExtCtrls,FileCtrl, Classes, Graphics, Controls, Forms,IniFiles, Dialogs; type tladen= array[1..365] of Integer; tladend= array[1..365] of TDate; function GetApplicationDirectory: string; function loadfileb(n:string; i:TDate):tladen; var helpb:tladen; helpd:tladend; h: integer; implementation function GetApplicationDirectory: string; begin GetApplicationDirectory := ExtractFilePath(ParamStr(0)); end; function loadfileb(n:string; i:TDate):tladen; var Ini: TIniFile; dir, help, d,B,K,U:string; sl,helpf : TStringList; j,zaehler,l: integer; begin dir:=GetApplicationDirectory+n; sl:=TStringlist.Create; helpf:=TStringlist.Create; try Ini:=TIniFile.Create(dir+n+'.ini'); //Datei in Stringliste laden ini.ReadSectionValues('BMI', sl); j:= sl.Count; Ini.ReadSectionValues('BMI', helpf); h:=helpf.Count; finally Ini.Free; sl.Free; end; end; end. |
AW: Inifile Problem
Zitat:
Zitat:
Noch ein paar andere Dinge:
MfG Dalai |
AW: Inifile Problem
j und h werden auch nicht benutzt. Warum die Zuweisung, wenn du sie doch nicht benutzt?
Der Compiler sollte dir ein paar Warnungen um die Ohren hauen. |
AW: Inifile Problem
Vielen Dank für die schnellen Antworten und dafür das ihr euch die Zeit nehmt mir zu helfen :)
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Inifile Problem
Du füllst deine Arrays nirgends, deswegen sind diese leer. Du füllst nur 2 Stringlisten und diese müssten Inhalt haben, allerdings nur innerhalb der Funktion loadfileb, da diese Variablen dort lokal sind.
|
AW: Inifile Problem
Zitat:
Gruß K-H |
AW: Inifile Problem
Außerdem steht in j und h genau das Selbe drin.
Nur weil es sinnlos mit unterschiedlichen TStringList ausgelesen wurde, so bleibt der Wert gleich, da es die selbe Quelle ist. Auch die beiden anderen globalen Variablen kann man als falsch platziert betrachten, da sie ebenfalls nirgendwo benutzt werden. Und warum das Alles überhaupt böse globale Variablen sind ... darüber könnte man auch noch streiten. |
AW: Inifile Problem
Zitat:
Zitat:
Zitat:
MfG Dalai |
AW: Inifile Problem
Hallo allerseits^^
ich hab die Unit jetzt überarbeitet(die globalen Variablen sind jedoch noch vorhanden, möchte erstmal das alles funktioniert^^'), aktuelles Ergebnis sieht so aus, das er die Arrays mit Daten bestückt, die Länge ist nun wie erwünscht "365", jedoch sind alle Werte = 0 also default.
Delphi-Quellcode:
unit ULoad2;
interface uses SysUtils,StdCtrls, ExtCtrls,FileCtrl, Classes, Graphics, Controls, Forms,IniFiles, Dialogs; type tladen= array[1..365] of Integer; tladend= array[1..365] of TDate; function GetApplicationDirectory: string; procedure loadfileb(n:string); var helpb:tladen; helpd:tladend; j: integer; implementation function GetApplicationDirectory: string; begin GetApplicationDirectory := ExtractFilePath(ParamStr(0)); end; procedure loadfileb(n:string); var Ini: TIniFile; dir:string; sl: TStringList; l: integer; begin dir:=GetApplicationDirectory+n; sl:=TStringlist.Create; Ini:=TIniFile.Create(dir+'\'+n+'.ini'); //Datei in Stringliste laden try ini.ReadSectionValues('BMI', sl); for l := 0 to sl.Count-1 do helpd[l] := StrToDate(sl.Names[l]); for l := 0 to sl.Count-1 do helpb[l] := Integer(sl.Objects[l]); j:= Length(helpb); finally Ini.Free; sl.Free; end; end; end. Zitat:
|
AW: Inifile Problem
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 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