C#

07/10/2007 16:52 Ganf#1
OK, wie der Topic name schon sagt, das hier is ne Frage für C#.

Ich habe schon im MSDN gesucht, allerdings nichts gefunden, was mir weiterhelfen könnte.
Ich bräuchte einen Value aus ner .ini File. Allerdings habe ich keine Ahnung wie man das macht. (Ich habs zwar schonmal gemacht, weiß allerdings nichtmerh wie).

Nachdem ich dann Überlkegt habe, dachte ich mir: "Ach, Importier doch einfach AutoIt und nutz dann IniRead!". Ging allerdings nicht xD (War ja klar)

Also bitte ich euch mir einen kleinen Tip zu gegben, welches mein Gehirn wieder enspurnt (zurzeit nur void im Kopf)


ganfi :bandit:
07/11/2007 11:58 P0!NT3R#2
Etwas aus einer ini Datei lesen/schreiben kann man ganz leicht mit den API Funktionen Get/WritePrivateProfileString/Int
Die Funktionen lauten wie folgt:

GetPrivateProfileString(SEKTION, SCHLÜSSEL, DEFAULTWERT, BUFFER, GRÖßE_BUFFER, PFAD);
Int = GetPrivateProfileInt(SEKTION, SCHLÜSSEL, DEFAULTWERT, PFAD);

Sieht die Ini Datei so aus:
Quote:
[Monitor]
x=1280
y=1024
Marke=Fujitsu_Siemens
Und du willst alles auslesen, geht das so:
Code:
int xint;
int yint;
string strMarke;
xint = GetPrivateProfileInt("Monitor", "x", 0, "C:\Datei.ini");
yint = GetPrivateProfileInt("Monitor", "y", 0, "C:\Datei.ini");
GetPrivateProfileString("Monitor", "Marke", "NULL", strMarke, sizeof(strMarke), "C:\Datei.ini");
Wenn jetzt nun die angegebe Sektion, der Schlüsselname oder die Datei an sich nicht aufgefunden wurde, wird der Defaultwert zurück gegeben.
Mit diesem könntest du halt leicht eine Abfrage machen:
Code:
if(xint == DEFAULTWERT)
MessageBox(NULL, "Dann hier halt, dass es nicht gefunden wurde", "Error", MB_ICONERROR);
[Den Sektionsnamen und den Pfad usw. kannst du natürlich auch in eine Variable schreiben und diese dann benutzen ;) ]

Du kannst dir aber eigentlich auch die gewünschte Zeichenkette mit all den tollen Funktionen der String Klasse suchen und dann zusammenbasteln.
07/12/2007 16:33 Ganf#3
thx, hat functioniert.

Ich weiß zwar net warum, aber ich hab damals auch "GetPrivateProfileString" und es hat net geklappt, naja, hauptsache jetzt gehts.

+1 Kama


Ganfi :bandit:
07/19/2007 01:48 CyRuSTheViRuS#4
.NET hat dafür eigene klassen o,0 einfach MSDN nutzen, da gibts genug Codebeispiele
07/21/2007 09:48 Ganf#5
Jop, da problem dass das allles, besonders die API Functionen Teils nur in C++ erklährt werden, und sry, ich habe erst for ein paar Wochen Angefangen C# zu programieren (Lol, eher schreiben, kommt ja eh nichts raus xD) . Mir daugt die Sprache einfach.

Und PS, hab früher nur so ein paar beispiele geschrieben die aber immer gefunct haben!



Ganfi :bandit:
07/24/2007 21:17 Ganf#6
Naja, imgrunde hätte ich doch gleich die XML Settings nehmen können,


lol xD


Ganfi
07/27/2007 14:52 Ganf#7
OK, ich habe noch eine Frage, wie kann ich meine Form "Always on Top" lassen.

In C++ is ja "SetPosition", aber in C#?

Ich weiß, es tut mnir leid mit diesen anfängerfragen, aber MSDN spuckt nichts aus!


Ganfi
07/28/2007 16:53 psych0o#8
vll hilft die API SetWindowPos
08/04/2007 22:36 ZeroTen#9
Geht doch viel einfacher, =D
Code:
this.TopMost=true;
MfG ZeroTen