I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.