Poslední příspěvky

Stran: 1 ... 8 9 [10]
91
Obecné / Re:Usnadnění překladů aplikací
« Poslední příspěvek od chaloup kdy 15-05-2017, 20:51:35 »
Já to používám, funguje to dobře (můj názor), autor komunikuje, opravuje chyby... vyzkoušej personal verzi http://www.regulace.org/files.php?figr=1 a jsou tam i nějaký dema. Výhoda je, že se dá program překládat za běhu, bez nějakých speciálních nástrojů.
Používám to jen na VCL, mobilní aplikace lokalizovat jde bez systémových hlášek, takže taková lokalizace na 1/2. Nevím o tom, že by některý program uměl měnit v mobilní aplikaci překlady FMX knihovny. Je to bohužel nedomyšlenou prací s resource stringy v FMX. http://qc.embarcadero.com/wc/qcmain.aspx?d=119409
92
Obecné / Usnadnění překladů aplikací
« Poslední příspěvek od surad kdy 15-05-2017, 19:34:32 »
Máte někdo nějaký TIP na SW / komponentu, která umí dobře spravovat vícejazyčné aplikace? Zkoušel jsem vestavěný překladač v Delphi, nevím jak starší verze ale v Seattle mi to padalo a házelo chyby, pak jsem objevil http://www.regulace.org/index.php?cPath=26 vypadá jednoduše ale než se pustím do větších akci, určitě tady někdo máte s tím zkušenosti taky...
93
Obecné / tCanvas.Arc - divný výstup
« Poslední příspěvek od vandrovnik kdy 15-05-2017, 17:07:37 »
Ahoj,

při použití tCanvas.Arc se mi někdy oblouk vykresluje o dost jinak, než bych čekal - nejlépe to je asi vidět na přiloženém obrázku. Očekával bych, že oblouk povede od jedné zelené čáry k druhé, místo toho se ale vykreslí ještě podivný oblouček za tou čárou definující počátek oblouku.

Pro vykreslení testovacího obrázku jsem použil:

Kód: [Vybrat]
procedure TMainForm.pxNahledPaint(Sender: TObject);
 const m=2;
       d=1; // i pro d=32 je problem videt
       x1=-6792*m div d;
       y1=325*m div d;
       x2=7641*m div d;
       y2=14759*m div d;
       x3=475*m div d;
       y3=326*m div d;
       x4=93*m div d;
       y4=333*m div d;
       xs=(x1+x2) div 2;
       ys=(y1+y2) div 2;
 var Platno:tCanvas;
 begin
 Platno:=pxNahled.Canvas;
 Platno.Pen.Color:=clLime;
 Platno.MoveTo(xs, ys);
 Platno.LineTo(x3, y3);
 Platno.MoveTo(xs, ys);
 Platno.LineTo(x4, y4);
 Platno.Pen.Color:=clBlack;
 Platno.Arc(x1, y1, x2, y2, x3, y3, x4, y4);
end;


Nevidíte v tom někdo nějakou botu? Popř. udělá to u vás stejně špatně (přikládám i testovací projekt)? Zkoušeno na Win 10 64bit, 1607.

Díky, Karel

94
Obecné / Re:SelectNext - vyhľadáva v inom formulári než je Sender
« Poslední příspěvek od Stanislav Hruška kdy 15-05-2017, 12:32:26 »
Doplňujem informáciu, že mi to tak divne funguje len pri dynamicky vytváraných komponentoch (TAdvEdit). Ich základné nastavenie je:
Kód: Delphi [Vybrat]
  1. FoblsListEdit.Add(TAdvEdit.Create(FParent.Owner));  // Je to správne druhý formulár
  2.  
  3. FoblsListEdit[Idx].Parent := TWinControl(FParent);  // Panel, kde ich potrebujem
  4. FoblsListEdit[Idx].TabStop := True;
  5. FoblsListEdit[Idx].TabOrder := Idx;
  6.  
Niečo mi ušlo?
95
Obecné / Re:SelectNext - vyhľadáva v inom formulári než je Sender
« Poslední příspěvek od Stanislav Hruška kdy 15-05-2017, 11:15:08 »
Nateraz som to vyriešil takto
Kód: [Vybrat]
procedure TAbstractForm.HandleEnterKeyPress(Sender: TObject; var AKey: Char);
begin
  if TWinControl(FindNextControl(TWinControl(Sender), True, True, False).Owner).Visible then
  begin
    SelectNext(TWinControl(Sender), True, True);
    AKey := #0;
  end;
end;
Nevyhadzuje to výnimku, ale ani nezmení fokus.
Nikto žiaden nápad? Beriem aj blbé.
96
Obecné / Re:Delphi školení - novinky, změny atp...
« Poslední příspěvek od age.new kdy 15-05-2017, 08:28:11 »
Mít projekt o 600 formulářích ...asi bych si to šel hodit. Hezky to bohužel naprogramované není, protože se pouze přidává, upravuje, rozšiřuje a jelikož občas není vůbec čas, tak se ani nedodržují "dohodnutá" pravidla o zápisu kódu, proměnných atp.

Máme sto formulářů a již se nám stalo, že nám Delphi odmítlo vzít proceduru, jelikož obsahovala moc proměnných. Museli jsme pak vytvářet podprocedury a tím ošálit překladač. Mít všeho 6x tolik ... to by už asi bylo trošku na hlavu.



 

97
Obecné / SelectNext - vyhľadáva v inom formulári než je Sender
« Poslední příspěvek od Stanislav Hruška kdy 14-05-2017, 22:16:02 »
Všetky formuláre sú potomkami triedy (TForm), ktorá má
Kód: Delphi [Vybrat]
  1. procedure TAbstractForm.HandleCompKeyPress(Sender: TObject; var Key: Char);
  2. begin
  3.   if Key = #13 then
  4.     HandleEnterKeyPress(Sender, Key);
  5. end;
  6.  
  7. procedure TAbstractForm.HandleEnterKeyPress(Sender: TObject; var AKey: Char);
  8. begin
  9.   if GetShoutEnterKeyPress(TControl(Sender)) then
  10.   begin
  11.     SelectNext(TWinControl(Sender), True, True);
  12.     AKey := #0;
  13.   end;
  14. end;
  15.  
Vytváram si dva formuláre. Pri dvojkliku na VST skryjem aktívny a zobrazím druhý. Po stlačení Enter mi funkcia
FindNextControl(TWinControl(Sender), True, True, False) vráti komponent zo skrytého formulára. To isté aj SelectNext. Prečo?
Ak použijem FindNextControl(TWinControl(Sender), True, True, True]), tak mi funkcia vráti nil.
98
Obecné / Re:FireDAC - update
« Poslední příspěvek od Stanislav Hruška kdy 14-05-2017, 21:09:22 »
Tak už som to našiel. Na jednom mieste som použil pre SELECT transakciu pre update. A tak som mal transakciu už raz spustenú - aktívnu. A v uvedenom kóde som ju spustil/aktivoval ešte raz.
Prečo si v nedeľu nedám pokoj?
99
Obecné / Re:FireDAC - update
« Poslední příspěvek od Stanislav Hruška kdy 14-05-2017, 20:53:16 »
Keď som tam zo zúfalstva pridal ešte jeden Commit, tak sa zmena zapíše.
Kód: [Vybrat]
  try
    qryDeposit_U.ExecSQL;
    qryDeposit_U.Transaction.Commit;
    qryDeposit_U.Transaction.Commit;
  except
Ale to je hlúposť.
100
Obecné / FireDAC - update
« Poslední příspěvek od Stanislav Hruška kdy 14-05-2017, 20:35:01 »
Technika sa rozhodla, že ma pošle do blázninca >:(  Jednoduchá situácia:
Kód: Delphi [Vybrat]
  1.   qryDeposit_U.SQL.Text := 'UPDATE DEPOSITS SET AMOUNT = :AMOUNT WHERE IDDEPOSITS = :IDDEPOSITS';
  2.   qryDeposit_U.ParamByName('AMOUNT').AsCurrency := frmDepositList.oMakeDepositEdits.oblsListEdit[Idx].FloatValue;
  3.   qryDeposit_U.ParamByName('IDDEPOSITS').AsInteger := frmDepositList.oDeposit.FocusedData.IDDeposit[Idx];
  4.   qryDeposit_U.Transaction.StartTransaction;
  5.  
  6.   try
  7.     qryDeposit_U.ExecSQL;
  8.     qryDeposit_U.Transaction.Commit;
  9.   except
  10.  
Parametre sú v poriadku a šetko zbehne. Ak použijem verziu
Kód: Delphi [Vybrat]
  1. function ExecSQL(const ASQL: String; const AParams: array of Variant): LongInt; overload;
  2.  
tak mi vráti 1.
Ale tabuľka ostane nezmenená! V SQL manažéry to zbehne ako má. Nerozumiem tomu.
Kde mám hľadať chybu?
Stran: 1 ... 8 9 [10]