Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Et hurtigt gæt (uden at vide det) der kan ikke være "." i sektion og/eller variabel navne. Derudover skal du nok i stedet anvende "Memo.Linies.Text" i stedet for blot "Memo.Lines".
I en INI fil gemmes hver "variabel" under en "sektion", og når du skriver "IniFile.WriteString( IntToStr(Calendar.Month), IntToStr(Calendar.Day), Memo.Lines.Text);" så er sektionen din måned og variablen er din dag. Hvis du vil samle dem er det blot et spørgsmål om at samle dem som en streng:
Alternativt brug IntToStr(Trunc(Now)) så får du en given dato (inkl. årstal) som en heltalsværdi, men så kan man selvfølgelige ikke lige "genkende" en dato ved at læse INI filen ind i en editor.
[Error] Unit1.pas(145): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter' [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
"Problemet" som jeg tror du kommer til at opleve, er at din Memo's Tekst indeholder #13#10 (Return/Linefeed), og jeg vil tro at du får skrevet/læst "noget snavs" til/fra INI-filen når/hvis din memo indeholde flere linier. Jeg tvivler på at IniFile.ReadString/IniFile.RightString "pakker #13#10 ind" på nogen måde.
Grunden til at den kun låser første linie fra din Inifil er at linieskiftene i din memo gør at der også skiftes linie i din IniFil og så kan den ikke læse teksten. Du er således nødt til at skrive teksten manuelt således din IniFil kommer til at se ud som flg: [0827] LineCount = 2 Line1 ='Først Linie' Line2 = 'Linie 2'
IniFile.WriteInteger('0827', 'LineCount', IntToStr(Memo.Linies.Count+1)); for I := 0 to Memo.Lines.Count-1 do begin IniFile.WriteString '0827', 'Line'+IntToStr(I), Memo.Lines[I]); end
Læsningen skal foretages på samme måde. Først læs 'LineCount for at finde ud af hvor mange linier der er: Cnt := IniFile.ReadInteger('0827', 'LineCount', 0); if Cnt > 0 then begin Memo.Lines.Clear; for I := 1 to Cnt do begin Memo.Lines.Add(IniFile.ReadString('0827', 'Line'+IntToStr(I),''); end; end;
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.