Avatar billede koden12 Nybegynder
11. september 2003 - 00:49 Der er 9 kommentarer og
1 løsning

StringGrid med en Tekst fil og flere

Jeg har set jeres udmærket eksempel om StringGrid der gemmer sine data (indtastninger) i en INI eller tekst fil.
Der er en læs ind og en gem knap..
Nu har jeg en ide om at det hele ikke skal gemmes i en og samme tekst fil men at fx en af de firkantet rammer skal have sin egen ini fil til at få gemt data i.
Det gælder jo om at finde nye udfordringer : ) og denne kan jeg ikke lige gennemskue.
Har nogle en ide ?
Jeg tænker på noget i retning af :
Begin
While StringGrid1 do
Begin
Rows[2][2]:= tekst.ini;
Og så det der med ReadLn eller hvad det hedder.
Men jeg ved ikke om det er helt hen i vejret.
VH
Koden12
Avatar billede pzw Nybegynder
11. september 2003 - 07:36 #1
Prøv at være mere præcis i din beskrivelse af spørgsmålet
Avatar billede klasker Nybegynder
11. september 2003 - 08:09 #2
Haha, pz skrev du det inden eller efter databasen gik ned?
Avatar billede stone Forsker
11. september 2003 - 08:12 #3
er det en tekstfil der skal indlæses i en stringgrid?
Avatar billede Slettet bruger
11. september 2003 - 09:35 #4
Hvis det er de her funktioner du mener:
http://www.swissdelphicenter.ch/torry/showcode.php?id=941 tror jeg du kan bruge noget i den stil(er ik testet):

// Save a TStringGrid to a file

procedure SaveStringGrid(StringGrid: TStringGrid; const FileName, FileName2: TFileName);
var
  f,f2:    TextFile;
  i, k: Integer;
begin
  AssignFile(f, FileName);
  Rewrite(f);
  AssignFile(f2, FileName);
  Rewrite(f2);
  with StringGrid do
  begin
    // Write number of Columns/Rows
    Writeln(f, ColCount);
    Writeln(f, RowCount);
    // loop through cells
    for i := 0 to ColCount - 1 do
      for k := 0 to RowCount - 1 do
    if (i = 2) and (k = 2) then
        Writeln(F2, Cells[i, k])
    else
            Writeln(F, Cells[i, k]);
  end;
  CloseFile(F);
end;

// Load a TStringGrid from a file

procedure LoadStringGrid(StringGrid: TStringGrid; const FileName, FileName2: TFileName);
var
  f,f2:          TextFile;
  iTmp, i, k: Integer;
  strTemp:    String;
begin
  AssignFile(f, FileName);
  Reset(f);
  AssignFile(f2, FileName);
  Reset(f2);
  with StringGrid do
  begin
    // Get number of columns
    Readln(f, iTmp);
    ColCount := iTmp;
    // Get number of rows
    Readln(f, iTmp);
    RowCount := iTmp;
    // loop through cells & fill in values
    for i := 0 to ColCount - 1 do
      for k := 0 to RowCount - 1 do
      begin
    if (i = 2) and (k = 2) then
        Readln(f2, strTemp);
    else
    Readln(f, strTemp);
        Cells[i, k] := strTemp;
      end;
  end;
  CloseFile(f);
end;


// Save StringGrid1 to 'c:\temp.txt':

procedure TForm1.Button1Click(Sender: TObject);
begin
  SaveStringGrid(StringGrid1, 'c:\temp.txt');
end;

// Load StringGrid1 from 'c:\temp.txt':

procedure TForm1.Button2Click(Sender: TObject);
begin
  LoadStringGrid(StringGrid1, 'c:\temp.txt');
end;
Avatar billede koden12 Nybegynder
11. september 2003 - 11:36 #5
Jo jeg skal prøve at være mere præsis.
Den du har der er fin og den virker, jeg ser også at du nu har lavet så det kan skiftes mellem 2 filer en k og en k2. Det kan jeg også.
Der hvor det kunne være særligt sjovt? intressant var om en kun en af celleren var tilknyttet en og kun en særlig fil så data fra denne særlige celle kom i en bestemt ini eller dat fil.
Kan mon det laves ?
VH
Koden12
Avatar billede koden12 Nybegynder
12. september 2003 - 11:22 #6
Der er desværre også probelmer med at tilføge en ny row eller col da det jo står noget i ini filen på et bestemt sted og den nye række derfor rykker rundt på de pladser det står på...
Nummer 1 bliver nummer 2 etz.
Det fandt jeg ud af efter 3 hele dages programmering og test..
VH
Koden12
Avatar billede pzw Nybegynder
12. september 2003 - 14:40 #7
I stedet for kun at gemme værdierne fra cellerne i en bestemt rækkefølge i filen kan du også gemme hvilken celle i StringGrid'en værdierne tilhører.
Så kan de blive lagt korrekt tilbage.
Det kan give problemer hvis StringGrid'en gøres mindre !!!
Skal jeg uddybe så læg en besked her, jeg er tilbage en gang i aften.
Avatar billede koden12 Nybegynder
12. september 2003 - 15:10 #8
Jeg har fundet mig en freeware DStringGrid1
den er go MEN der er ikke nogle eksempler med ØV..
Den kan blandt andet det her :
DStringGrid1.LoadFromFile('minfil.ini');
Men eller er jeg på grøn sæbe med at finde ud af hvad den kan..
Heller ikke på deres hj sider er nogle eksempler..
VH
Koden12
Avatar billede koden12 Nybegynder
15. september 2003 - 14:29 #9
Jeg har fundet ud af ret meget.
Hele filen skal ikke lodtes ind i i hele Stingggrid men tror jeg kun den fil INI eller TXT skal gemmes og hentes i den bestemte ROW som den er tilknyttet hvordan det så end gøres.
VH
Koden12
Avatar billede koden12 Nybegynder
10. januar 2004 - 22:27 #10
svar
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging