-
Content Count
315 -
Joined
-
Last visited
-
Days Won
1
Everything posted by Serge_G
-
I need help writing a component that works with livebinding.
Serge_G replied to kabiri's topic in Cross-platform
have a look at http://docwiki.embarcadero.com/RADStudio/Seattle/en/Tutorial:_Creating_LiveBindings-Enabled_Components in short, you need to declare these procedures and function in your component code procedure ObserverToggle(const AObserver: IObserver; const Value: Boolean); protected function CanObserve(const ID: Integer): Boolean; override; procedure ObserverAdded(const ID: Integer; const Observer: IObserver); override; and do some register observable members If you read French, I wrote some tutorials (part I, part II) -
Got same issue. As workaround, I force UseCustomGlyphs to true at runtime. procedure TForm1.FormCreate(Sender: TObject); begin for var ctrl in GetControls() do begin if ctrl is TRzCheckBox then TRZCheckBox(ctrl).UseCustomGlyphs:=true; end; end;
-
Can I make two suggestions? First one, if you absolutely want to keep Delphi 7 use, try to install ZEOSLIB (aka ZEOSDBO) and use this data access component suite instead of DBExpress Second, try Delphi 11 community, with his Firedac components,
-
Same thing for me ! I tried your sample, giving me a 326 value for a GMT one Then I wrote this simple code procedure TForm1.FDQuery1MONCREATION_DATEGetText(Sender: TField; var Text: string; DisplayText: Boolean); begin text:=sender.asString; end; Giving me an "Incorrect argument for time encoding. " error with my french version
-
@Dmitry Arefiev My tests was with Delphi 12 first. Some links or clues ? Agree, even if I rarely use FDTable 😉
-
Testing D12, I made small tests. First using 2 versions of Firebird (3 and 4) I made a mistake not using a TFDPhysFBDriver, default connection was using fb3 this mistake stop IDE ! FDPhysFBDriver settled I now run in another error with my French edition working with SQL To search : using FormatOptions (of the FDConnection.FDQuery or FDTable) using mappings
-
Copy table data between two different databases.
Serge_G replied to Jeff Steinkamp's topic in Databases
Perhaps me 😊 if so, in my mind it was like this, source is Database A, dest is Database B Source selection is a TFDQuery so you can restrict to what you need, this to respond your "truncating data" you just have to adjust properties of FDBatchMove, depending on process you want (only appending, appending or updating see property mode) Note : keep in mind what you have to do with errors during the process. 3300 records is not so much. to be known, fdbatchmove have a contextual menu. The 3 first options are very useful and with the first one ( Execute) debugging is easy (without running program !) see https://docwiki.embarcadero.com/Libraries/Alexandria/en/FireDAC.Comp.BatchMove.TFDBatchMove and https://docwiki.embarcadero.com/CodeExamples/Alexandria/en/FireDAC.TFDBatchMove_Sample -
To react to this, here is the structure I used
-
First declare fields Then set event on GetText for the field and code the event procedure TForm1.FDTable1Date_exitGetText(Sender: TField; var Text: string; DisplayText: Boolean); begin if Sender.IsNull then text:='n.d.' else Text:=FormatDateTime('mm-dd-yyyy',UnixToDateTime(Sender.Value)); end; on design date_exit should be an integer but at run time "magic" happens Now let speak about another method for Timestamp type (my date_create) You just have to set property displayformat to get the date_create formatted at runtime but also at design time (yellow)
-
Easy way changing imageindex, but need a ImageList or equivalent. Personally, most often, I use SVG directly or loaded in resource You can also change, add/change buttonstyle and applystylelookup
-
Gagné, mon site https://serge-girard.developpez.com/ mon blog https://www.developpez.net/forums/blogs/138527-sergiomaster/
-
Une autre petite piste dans ce blog, étudier les sources du dépot git indiqué n'est pas une mauvaise idée. Idem, j'ai pas mal déblatéré dans ce forum As I don't know if this forum is not an English only forum : Another little tip in this blog, studying the sources of the indicated git repository is not a bad idea. Ditto, I've rambled quite a bit in this forum
-
I wrote some tutorials in french (3 part but only 2 published) you can find here Part1 Part2 last part (a RadioCombobox) still in progress
-
One solution is to use DynamicAppearance and add an image. I explained this (in french) here and there The only job to add is to rework the bitmap to have RoundedCorners in this part procedure TForm1.ListView1UpdatingObjects(const Sender: TObject; const AItem: TListViewItem; var AHandled: Boolean); var AListItemBitmap : TListItemImage; AListItemText : TListItemText; AColor : TAlphaColor; begin AListItemBitmap:=AItem.Objects.FindObjectT<TListItemImage>('Image2'); AListItemText:=AItem.Objects.FindObjectT<TListItemText>('Text1'); if assigned(AListItemBitmap) then begin AListItemBitmap.Bitmap:=TBitmap.Create(40,40); try AColor:=StringToAlphaColor(AListItemText.Text) except AColor:=TAlphaColorRec.Null; end; AListItemBitmap.Bitmap.Clear(AColor); end; end; Still some work to do but a first result
-
You don't gave us the SGBD used. Code can be reduced, without an FDQuery using FDConnection var x:=FDConnection1.ExecSQLScalar('SELECT 1 FROM WeighingCows WHERE Cownumber = :C', Drivers.DBEdit1.Text); if varisnull(x) then begin MessageDlg('This number exist', mtError, [mbOK], 0); FDTable1.Cancel;<<<<<<<<<<< if execute then OK end;
-
For me it's the FDConnection that was active. When you activate the Query, the FdConnection was enabled also I always change the ConnectedStoredUsage properties of FDConnection to false to avoid this problem.
-
I have no response to that, all my "pro" FMX applications (using at least 2 styles) are D10.3 with few chance to update to newer versions. Retiring at the end of the year, I don't think I should face the problem
-
Sorry for that, I saw that form2 was created once. I am not adept of that, preferring a modalform.Create and modalform.release in my apps Yes, but it's a lot perturbing for me To answer this usage of old style usage retrieve my mind's ticket is here (Patrick Premartin is the reporter because I was lazy to do it ) french discussion here @XylemFlow procedure TForm1.CheckBox1Change(Sender: TObject); begin if CheckBox1.IsChecked then StyleBook:=StyleBookDark else Stylebook:=StyleBookLight; UpdateStyleBook; end; procedure TForm1.MenuItem4Click(Sender: TObject); begin // Apply current style to modalform Form2.StyleBook:=Stylebook; Form2.Showmodal end; tested with polardark_win and polarlight_win styles
-
Hi, I think there are more than one coding errors 🙄 i.e. ChildForm is not released, StyleBookLight don't contain data .... I worked a similar project last year, you can find here I had some similar problem using an old 10.2 style (don't remember circumstance)
-
How to open Firebird 3 Database in FireDAC Delphi 11 (64Bit)
Serge_G replied to Blavatsky's topic in Databases
But why did you use ODBC when you can use the Firedac Driver ? -
get idDrink out of database , based on what is clicked in listbox
Serge_G replied to grantful's topic in Databases
Yes that was what I suggest more or less Not so, but database structure is not very pro. -
get idDrink out of database , based on what is clicked in listbox
Serge_G replied to grantful's topic in Databases
Is FB not too much for a program that seems to be mono-user and with a screenshot more Android (so Firebird is not easy to install ) than windows OS -
get idDrink out of database , based on what is clicked in listbox
Serge_G replied to grantful's topic in Databases
For me, you complicate your life If you use livebindings and synchronize your datasource to the listview you don't have to add a query. I made some tests. Not so evident, I think the best way is to create a new method for livebindings (I explore this in this tutorial). For now, I just use a database (Firebird one) trick to get linebreak value and use CustomFormat:=%s+dataset.BR.text+dataset.stringrediants1.value+dataset.BR.text+dataset.stringrediants2.value+ ... Can you attach your database and I will write a quick program as demo ? Attached a quick sample Ok, I don't create UI to add some coktails, just respond to first question "show only the records based on the item i click in a listbox." (listview) Cocktails.zip -
How to open Firebird 3 Database in FireDAC Delphi 11 (64Bit)
Serge_G replied to Blavatsky's topic in Databases
My desktop FMX apps are 32/64 bits windows and Linux, my firebirds install are 64 bits (default FB3 on port 3050, FB4 on 3054) And I don't have any problem with that. Even if I can also read server FB Database on Android, I tried to have full a Firebird embedded on Android without success. This code is extracted from a procedure in my Datamodule Yes No -
get idDrink out of database , based on what is clicked in listbox
Serge_G replied to grantful's topic in Databases
Hum, now I am looking the table structure IMHO the database structure is not a valid one. I think about a : Beverage table, Ingredient table, and Composition table instead of the "monolithic" table you seem to use (according livebinding screenshot