Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Obecné / Re:TVirtualStringTree - tisk
« Poslední příspěvek od Radek Červinka kdy Dnes v 15:12:42 »
A proc si to neodkrokujes, klicove je IMHO predat printer se spravnou strankou

z te metody Print:

Kód: [Vybrat]
      vPageHeight := Round(Printer.PageHeight / Scale);
      vPageWidth := Round(Printer.PageWidth / Scale);

      // We do a minumum of one page.
      xPageNum := Trunc(Image.Width / vPageWidth);
      yPageNum := Trunc(Image.Height / vPageHeight);

      PrinterImage.SetSize(vPageWidth, vPageHeight);

      // Split vertically:
      for yPage := 0 to yPageNum do
      begin
        DestRect.Left := 0;
        DestRect.Top := 0;
        DestRect.Right := PrinterImage.Width;
        DestRect.Bottom := PrinterImage.Height;

        // Split horizontally:
        for xPage := 0 to xPageNum do
          begin
            SrcRect.Left := vPageWidth * xPage;
            SrcRect.Top := vPageHeight * yPage;
            SrcRect.Right := vPageWidth * xPage + PrinterImage.Width;
            SrcRect.Bottom := SrcRect.Top + vPageHeight;

            // Clear the image
            PrinterImage.Canvas.Brush.Color := clWhite;
            PrinterImage.Canvas.FillRect(Rect(0, 0, PrinterImage.Width, PrinterImage.Height));
            PrinterImage.Canvas.CopyRect(DestRect, Image.Canvas, SrcRect);
            PrtStretchDrawDIB(Printer.Canvas, Rect(0, 0, Printer.PageWidth, Printer.PageHeight - 1), PrinterImage);
            if xPage <> xPageNum then
              Printer.NewPage; <<<<<<<<<<<<<<<<<<<<<<<<<<<
          end;
        if yPage <> yPageNum then
          Printer.NewPage; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
      end;
2
Obecné / Lazarus - MS SQL databaze
« Poslední příspěvek od BigSandy kdy Dnes v 13:14:18 »
Zdravím Vás a chtěl bych poprosít o pomoc.
Uplna lama ohledně teto databaze.
Mám MS SQL databazi (SDF soubor).
V databazi je 6 tabulek.
Bych potřeboval načist poslední tabulku, třeba do StringListu, přidat poslední řadek s daty a zpatky uložit.

Poradite jak na to, nebo alespon nasměrujete na nějake WWW.
Děkují.
3
Obecné / Re:Formulár - dlhá odozva
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 12:20:40 »
Hneď na začiatku som písal: pre VirtualStringTree .
Ale ten Virtual StringTree musí z něčeho data brát, ne? Ty mu tam podstrčíš přímo výsledky SQL dotazu a ten necháš otevřený?
Pak by to šlo přes ty memory table udělat úplně jednoduše.
Podstrčím výsledky len do jedného. Dopyt vždy zavriem. Potom skopírujem uzly (+ údaje) do ďalších dvoch VTV. CopyTo mi nejako nefungovalo. Mám vlastnú funkciu na kopírovanie údajov z jedného uzla do druhého. Túto časť považujem za uzavretú. Dostal som sa na 5,5 sek.
Problém mám v tom, že pre každý strom zobrazujem dole súčty hodnôt v troch stĺpcoch. To pri jedináčikovi to neviem vyriešiť. Rozhodol som sa ísť cestou na obrázku.
Použijem pôvodné riešenie. Keďže je všetko formou podformulárov, tak nie je problém vytvoriť 3 samostatné formuláre. Ten jeden klik navyše užívateľovi neublíži. A ja som sa zbavil zodpovednosti ;D


4
Obecné / TVirtualStringTree - tisk
« Poslední příspěvek od VladaT kdy Dnes v 11:50:17 »
Ahoj,
nemáte někdo zkušenost s použitím metody PRINT u VirtualStringTree? Zkouším vytisknout jednoduchý strom, a pokud je delší než jedna stránka, tak tam vkládá prázdné stránky. Dělá to u PDF tiskárny i u fyzického tisku... Můžete případně někdo toto chování u sebe odzkoušet? Díky.

5
Obecné / Re:Formulár - dlhá odozva
« Poslední příspěvek od Jan Fiala kdy Dnes v 11:06:43 »
Hneď na začiatku som písal: pre VirtualStringTree .

Ale ten Virtual StringTree musí z něčeho data brát, ne? Ty mu tam podstrčíš přímo výsledky SQL dotazu a ten necháš otevřený?
Pak by to šlo přes ty memory table udělat úplně jednoduše.
6
Obecné / Re:Formulár - dlhá odozva
« Poslední příspěvek od Stanislav Hruška kdy Dnes v 09:12:09 »
Ďakujem za odkazy. Pozriem sa na ne.
Ako tak rozmýšľam a vidím problémy, ktoré treba riešiť pri jedináčikovi, tak najlepšie/najjednoduchšie riešenie bude predsa: rozbiť to na tri samostatné formuláre.
  • tam to už mám vyriešené
  • budú podstatne svižnejšie. Aj keď pri jednom SVB tam bude zanedbateľný rozdiel
  • akurát to nebude pokope. To je len môj uhol pohľadu. Občas ho treba zmeniť :)
7
Obecné / Re:Formulár - dlhá odozva
« Poslední příspěvek od < z > kdy 06-12-2022, 22:11:12 »
Tak to máš správné informace. Vlákna nejsou raketová věda

Pár vteřin jsem hledal a toto je úplně nádherná ukázka, kdy CreateAnonymousThread je jen pár řádků navíc.
Napsal to nějaký Marco pro Android, ale to nevadí :)
https://blog.marcocantu.com/blog/2014_may_background_delphi_android_threads.html

Ale i toto je nádherná sbírka demo příkladů
https://github.com/djjd47130/DelphiThreadDemo

To jen kdyby to někoho zajímalo ...
8
Obecné / Re: V časti protected potomka nepozná pole rodiča
« Poslední příspěvek od pepak kdy 06-12-2022, 21:56:52 »
Protože FSumEdit je proměnná a TList<> očekává typ.
9
Kód: [Vybrat]
  TCustomDeposit = class(TVstTableData)

  strict protected
    FSumEdit: TList<TAdvEdit>;
    FSumLabel: TLabel;
    procedure GetSumAdvEdit;
.

  TOwner = class(TCustomDeposit)
V prílohách vidieť o čo mi ide. Ľavá strana je TOwner. Je to tam trikrát a TOwner je jedináčik. Neviem ako na to.
Stred a pravá strana dedia. Tam nemám problém.
Poradí niekto?
10
Obecné / V časti protected potomka nepozná pole rodiča
« Poslední příspěvek od Stanislav Hruška kdy 06-12-2022, 21:21:17 »

Ostal som zaskočený skutočnosťou, protected pole nemôžem použiť v časti protected v potomkovi. Prečo to tak je?
Kód: [Vybrat]
  TCustomDeposit = class(TVstTableData)
  strict protected
    FSumEdit: TList<TAdvEdit>;
...
  TOwner = class(TCustomDeposit)
  strict protected
    FEditSum: TList<FSumEdit>; //  Nepozná FSumEdit
Stran: [1] 2 3 ... 10