Search the Community
Showing results for tags 'help'.
-
I have followed the uniGUI almost from the beginning and seen how it have grown, alot of good people. I know many of names or picture but last evening I thought that it would be nice if we could get to know eachother more, we already have something in common, thanks to Farshad, uniGUI. I know this forum is for debatting uniGUI, but sometimes it would be so nice to actually chat with someome, or voice speak, or even videospeak, or even sharing the screen to someone. Have a conversation. I know it can be very lonely for some programmers, thats why I have created a Discord channel for uniGUI. You are welcome to join at https://discord.gg/WXTWa6nMY If Farschad dont think it is a good idea, then delete the post but I would love to see him join the channel, so we all can get to know him better.
-
Hello! I'm very new to UNIGUI and I'm having some trouble creating responsive forms. I Have a form with a single panel that has the table layout, and I am trying to change the layout properties at runtime, whne the panel is rezized: procedure TfAgencia.UniPanel7Resize(Sender: TUniControl; OldWidth, OldHeight: Integer); var StrErr: string; begin try case OldWidth >= 800 of True: begin if not TResources.GetInstance.ResponsiveFormFields(UniPanel7, 16, StrErr) then Abort; end; False: begin if not TResources.GetInstance.ResponsiveFormFields(UniPanel7, 1, StrErr) then Abort; end; end; except On e: Exception do begin TSweetAlert.GetInstance.Execute(Alert, StrErr, TAlertType.atInfo); end; end; end; I created the responsivefields function to make a more generic solution: function TResources.ResponsiveFormFields(Painel: TUniPanel; ColSize: Integer; out StrErr: string): Boolean; var i: Integer; begin try StrErr := 'Somente Paineis com Layout "table" são suportados por esta função.'; if Painel.Layout <> 'table' then Abort; with Painel do begin JSInterface.JSAssign('layout.columns', [ColSize]); JSInterface.JSCode(#1'.setConfig({cellpadding:5});'); JSInterface.JSCode(#1'.setConfig({columnWidth:''' + Trunc(Painel.Width / ColSize).ToString + 'px''});'); end; for i := 0 to pred(Painel.ControlCount) do begin if Painel.Controls[i] is TUniDBEdit then begin With (Painel.Controls[i] as TUniDBEdit) do begin CreateOrder := i; JSInterface.JSProperty('width', '98%'); JSInterface.JSProperty('columnWidth', Trunc(Painel.Width / ColSize).ToString + 'px'); if Tag = 0 then Tag := LayoutConfig.ColSpan; if ColSize = 1 then JSInterface.JSProperty('colspan', 1) else JSInterface.JSProperty('colspan', Tag); end; end; if Painel.Controls[i] is TdbSelect then begin with (Painel.Controls[i] as TdbSelect) do begin CreateOrder := i; if Tag = 0 then Tag := LayoutConfig.ColSpan; if ColSize = 1 then LayoutConfig.ColSpan := 1 else LayoutConfig.ColSpan := Tag; end; end; end; Painel.JSInterface.JSCall('updateLayout', []); StrErr := ''; Result := True; except Result := False; end; end; All of this ALMOST works as intended, but some properties are not changing or reflecting in the HTML: cellpadding columnWidth width Can someone help me and point out what is wrong here? I already tried different methods of injecting these properties, such as: JsAssign, JSProperty, JSConfig, JSCode.
- 13 replies
-
Hi, I need expert feedback. My company used Delphi to develop most of our desktop applications. None of us has any experience with web scripting. Our company wants to develop a web-based exam center. The exams will usually show text, video, voice, and MOQ questions. The max number of users who will take an exam at the same time might exceed 9000. I suggest using UniGUI to develop the solution for this exam center, but I need to be assured of the following: 1. Can UniGUI support this number of users at the same time? 2. What Hardware specs are required? 3. What infrastructure is required (e.g., servers, bandwidth, load balancers, SSL, and DBMS). Your help is appreciated.
