Avatar billede stone Forsker
16. august 2001 - 00:14 Der er 14 kommentarer og
2 løsninger

Sum i Statusbar

endelig har jeg fundet en måde at omgå query i minitable.

jeg vil gerne have vist resultatet i statusbar

hvordan?

procedure TForm1.SumClick(Sender: TObject);
var
  Total: Real;
begin
  MiniTable1.DisableControls;
  Total := 0;
  try
    MiniTable1.First;
    while not MiniTable1.EOF do
    begin
      Total := Total + Ssum.Field.Value;
      MiniTable1.Next;
    end;
  finally
      MiniTable1.EnableControls;
  end;
  MessageDlg (\'Sum er  \' +
    Format (\'%g\', [Total]), mtInformation, [mbOk], 0);
end;
Avatar billede mukke Nybegynder
16. august 2001 - 00:28 #1
Hmm.. er lidt lang tid siden jeg sidst arbejded i Delphi, men hvis du har en TStatusBar ved navn StatusBar, så mener jeg da det bare er:

StatusBar.simpleText := InttoStr(Total);

eller har jeg misset noget her?
Avatar billede nico26 Nybegynder
16. august 2001 - 01:52 #2
hvis du vil have flere paneler kan du dobbeltclikke på Panels propertyen i object inspectoren, og tilføje det antal paneler du ønsker. Så kan du skrive:

StatusBar1.Panels[N].Text := ...
Avatar billede stone Forsker
16. august 2001 - 08:58 #3
nix mukke det virker ikke
Avatar billede morten_s Nybegynder
16. august 2001 - 09:06 #4
Først skal du dobbeltklikke på din statusbar så kommer der et vindu op som du højreklikker på og så indsætter felter i din status bar, herefter kan du referere til dem
Avatar billede morten_s Nybegynder
16. august 2001 - 09:09 #5
eksempel på at skrive til statusbar efter du har gjort ovenstående
Form1.Statusbar.Panels[0].Text := \'Månen er lavet af grøn ost\';
Avatar billede stone Forsker
16. august 2001 - 10:01 #6
i har ikke forstået spørgsmålet:
med ovenstående kode, beregner poster i record
dbedit kaldet \"Ssum\"... resultatet af den beregning vil jeg have vist i statusbar, istedet for i en messagedlg.

jeg er ikke interesseret i at indsætte text streng
i statusbar.
Avatar billede mukke Nybegynder
16. august 2001 - 12:25 #7
stone: jo, du er interesseret i at indsætte en streng i en statusbar.

1) Du siger selv statusbar - altså har du brug for en TStatusBar.

2) Du vil vise en beregning. Beregningen giver et tal. Tallet skal konverteres til tekst - inttostr() - og resultatet skal vises på statusbaren.

Læst i hjælpen om TStatusBar
Avatar billede morten_s Nybegynder
16. august 2001 - 13:45 #8
Alle har forstået dit spørgsmål og givet det rigtige svar......,
Kan du ikke uddybe hvorfor du ikke kan få det til at virke ?

Hvis du har en statusbar og vil skrive i første felt som du har oprette, se min beskrivelse ovenfor så skriver du følgende:

Form1.Statusbar.Panels[0].Text := IntToStr(Ssum);
Avatar billede nico26 Nybegynder
16. august 2001 - 14:09 #9
Stone>>Du skriver at du vil have vist beregningen i statusbaren, men ikke indsætte text i den. Hvordan vil du så vise den??? Men måden man bruger en statusbar, er ved at indsætte paneler, og så ændre panelernes text-property, som allerede er forklaret to gange
Avatar billede stone Forsker
16. august 2001 - 18:36 #10
Nico22: det var også forkert formuleret..hastværk er lastværk.

koden som er vist i starten af mit spørgsmål gør at den beregner alle indtastninger i det field som hedder Ssum (dbedit),den samlede sum vises i en messagedlg.
problemet er hvordan samlede sum bliver vist i statusbar.
hvis jeg bruger \"morten.s\" eksempel
får jeg en fejlmelding om:there is no overloaded version of \"IntToStr\" that can be called with thise arguments
desuden morten.s eksempel hvis det virkede, kun fortælle om den aktuelle værdi i Ssum.







Avatar billede morten_s Nybegynder
16. august 2001 - 18:52 #11
Se så men det er jo heller ikke en integer du har men en real

Præv med FloatToStr(Total);
eller mere præsist:

Form1.Statusbar.Panels[0].Text := FloatToStr(Total);
Avatar billede nico26 Nybegynder
16. august 2001 - 19:01 #12
bedre med:
Form1.Statusbar.Panels[0].Text := FormatFloat(\'#.00\', Total);

så slipper du for alle de ubetydelige decimaler
Avatar billede djeclemen Nybegynder
16. august 2001 - 19:01 #13
hvor kan jeg downloade delphi
Avatar billede nico26 Nybegynder
16. august 2001 - 19:08 #14
Avatar billede stone Forsker
16. august 2001 - 19:10 #15
nu virker det:

Statusbar1.Panels[0].Text:=\'Sum ialt \' +  Format(\'%g\', [Total]);
Avatar billede stone Forsker
16. august 2001 - 19:17 #16
TAKKER alle for hjælpen.
:-))
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