Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ini einlesen (https://www.delphipraxis.net/12735-ini-einlesen.html)

Sidores 3. Dez 2003 11:08


ini einlesen
 
Hi,
habe folgendes Problem:
ich will eine inidatei einlesen die 4000 zeichen hat aber ich bekomme immer nur 2000.
wie kann ich sie einlesen, dsa ich alle Zeichen bekomme?

Danke

Smokey 3. Dez 2003 11:16

Re: ini einlesen
 
Wie liest du sie denn ein?
Mit TIniFile?
Und wie is die Ini aufgebaut? mit Zones? odernur alles hintereinander geklatscht ?

Sidores 3. Dez 2003 11:28

Re: ini einlesen
 
mit TiniFile.
Und sie sieht so aufgebaut:
Code:
[Test]
Test= (nun hier die Zeichen)

X-Dragon 3. Dez 2003 12:45

Re: ini einlesen
 
Zitat:

Zitat von Sidores
mit TiniFile.
Und sie sieht so aufgebaut:
Code:
[Test]
Test= (nun hier die Zeichen)

Und wie liest du diese Datei ein? Ohne Code ist es schwierig darin einen Fehler zu finden :).

Sidores 3. Dez 2003 12:46

Re: ini einlesen
 
mit
Code:
.ReadString(Test,Test,'');

X-Dragon 3. Dez 2003 12:53

Re: ini einlesen
 
Zitat:

Zitat von Sidores
mit
Code:
.ReadString(Test,Test,'');

Du gehtst ja ganz schön geizig mit deinem Quellcode um ... Wie soll man denn in einem einzigen unvollständigen Befehl einen Fehler finden? Um 4000 Werte auszulesen verwendest doch wahrscheinlich auch eine Schleife, oder nicht? Und in welcher Form kontrollierst du bzw läßt du anzeigen, wieviel Daten ausgelesen werden? Ein Fehler könnte sich ja beim auslesen wie vielleicht auch beim anzeigen eingeschlichen haben.

Smokey 3. Dez 2003 12:57

Re: ini einlesen
 
ich befürchte er hat in seiner ini unter

[Test]
test= <- hier 4000 zeichen stehen

in dem Fall würd ich mal versuchen die ini besser aufzubauen.
Das ein Key 4000 Zeichen hat ist dann doch eher ungünstig.

Pseudemys Nelsoni 3. Dez 2003 12:58

Re: ini einlesen
 
ich glaube er meint das 1 wert 4000 zeichen hat, nicht 4000 werte selbst

Sidores 3. Dez 2003 12:58

Re: ini einlesen
 
also ich mache das hier:
Code:
sTest:=aIniFile.ReadString(Test,Test,'');
showmessage(inttostr(length(Hardware)));
so, die messagebox zeigt mir 2047 Zeichen an aber in der ini stehen über 4000 zeichen.
deshalb schließe ich daraus das "ReadString" nur 2047 Zeichen auf einmal lesen kann und nun brauch ich irgendwie hilfe, da ich nicht weiß wie ich die nun einlesen soll.

@Pseudemys Nelsoni: genau

MyRealName 3. Dez 2003 12:59

Re: ini einlesen
 
die chance, in den 4000 Zeichen auch ein CRLF zu haben, ist auch ned ohne ;-)

Sidores 3. Dez 2003 13:02

Re: ini einlesen
 
@Pseudemys Nelsoni: genau
@MyRealName: was ist CRLF?

Pseudemys Nelsoni 3. Dez 2003 13:05

Re: ini einlesen
 
#13#10 < das , also ein enter

Smokey 3. Dez 2003 13:05

Re: ini einlesen
 
Wie gesagt ich würde die ini umorganisieren...

was steht denn als wert in deinem key Test?
Also warum müssen das 4000 zeichen sein?

kannste das nicht splitten in mehrere keys?
eine ini ist ja eigentlich dazu da irgendwelche werte zu speichern und nicht riesige Texte.

Was also schreibst du da rein was 4000 zeichen lang ist?

Nalincah 3. Dez 2003 13:07

Re: ini einlesen
 
Ich weiß zwar nicht sicher, aber vielleicht zeigt die MessageBox nur 2047 Zeichen an. Lad das doch mal in ein Memo?

Tom 3. Dez 2003 13:25

Re: ini einlesen
 
Der Source von ReadString
Delphi-Quellcode:
function TIniFile.ReadString(const Section, Ident, Default: string): string;
var
  Buffer: array[0..2047] of Char;
begin
  SetString(Result, Buffer, GetPrivateProfileString(PChar(Section),
    PChar(Ident), PChar(Default), Buffer, SizeOf(Buffer), PChar(FFileName)));
end;
So ist das ...

MyRealName 3. Dez 2003 13:37

Re: ini einlesen
 
das erlärt natürlich alles ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 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