Avatar billede stone Forsker
01. september 2001 - 00:51 Der er 8 kommentarer og
1 løsning

overfør aktuel indhold i Dbedit til *.txt fil

har 10 DBedit hvis indhold skal overføres til .*txt fil,den skal lave en ny *.txt fil hver gang, da indholdet i Dbedit bliver slettet.
eventen skal ske ved ved tryk på knap.
Problemet er man kan ikke lave en multiselect i Dbedit\'erne (cut and paste)
(spørgsmålet har været oppe før, men fik det ikke løst)
Avatar billede martinlind Nybegynder
01. september 2001 - 01:30 #1
VAR
  Cnt : Integer;
  L : TStringList;
  Obj : TObject;
begin
  L := TStringList.Create;
  for Cnt := 1 to antalEditfelter do
  begin
      Obj := FindComponent(\'DBEdit\'+IntToStr(Cnt));
  if Obj <> NIL then
begin
    L.Add(TDBEdit(Obj).Text);
end;
  end;
  L.SaveToFile(\'DBeditData.txt\');
  L.Free;
end;

Prøv sådan, nemt og efektivt

/Martin
Avatar billede stone Forsker
01. september 2001 - 10:58 #2
hvorfor henter den kun data fra 3 dbedit?
den burde hente data fra de 10 dbedit(1 to 10)
Avatar billede martinlind Nybegynder
01. september 2001 - 11:29 #3
Hvor er det lige du ser det kun er fra 3 ???

antalEditfelter = det antal du har

/Martin
Avatar billede stone Forsker
01. september 2001 - 11:34 #4
fordi det kun er indhold fra 3 dbedit,som bliver vist i DBeditdata.txt.
\"jeg har skrevet 1 to 10\" så indholdet burde lægges i dbeditdata.txt fra de 10 dbedit, men indholdes i dbeditdata.txt viser kun indhold fra 3 dbedit.
Avatar billede martinlind Nybegynder
01. september 2001 - 11:56 #5
Hvis dine DBEdit felter hedder DBEdit1-10 så burde virke, prøv at check om den finder componenten med findcomponent();

/Martin
Avatar billede stone Forsker
01. september 2001 - 12:16 #6
ups... troede at den gik efter TdbEdit,så det er da soleklart at den ikke kan finde dbedit.
så nu virker den på felterne.
men hvordan får man den til at lave en ny dbeditdata.txt, og ikke overskrive den gamle?
de data fra den aktuelle post skal gemmes i en fil,
og næste aktuelle post skal gemmes i fil?
f.eks dbeditdata0,txt to dbeditdataxxxxx.txt



Avatar billede martinlind Nybegynder
01. september 2001 - 14:24 #7
Du kan evt. gemme i en TextFile, den kan du lave append på, eller må du lave noget med en tæller, og så finde udaf hvor langt du er nået hver gang du starter på prog.

/Martin
Avatar billede stone Forsker
01. september 2001 - 15:18 #8
er det ikke muligt at istedet for at overskrive indholdet i dbeditdata.txt, at den forsætter fra da den blev gemt sidste gang?
Avatar billede martinlind Nybegynder
01. september 2001 - 17:26 #9
Jo, du kan gøre sådan :

VAR

L2 : TStringList;

begin

L2 := TStringList.Create;
L2.LoadFromFile();
L2.AddStrings(L);
L.SaveToFile();
L2.Free;

end;

/Martin

PS. så får du altså ikke mere for den 25øre *G*
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