Jump to content
uniGUI Discussion Forums

All Activity

This stream auto-updates     

  1. Past hour
  2. Today
  3. Daha Software

    Unigui PDF Viewer DEMO

    PRINT QUALITY IS BAD. HOW CAN I IMPROVE THE QUALITY OF PRINTING?
  4. katcharowski

    Displayformat Field unimdbgrid not display in run time

    inclua no clientdataset no campo que você quiser no evento "ongettext" procedure TForm1.numberFieldGetText(Sender: TField; var Text: string; DisplayText: Boolean); begin text := formatFloat( TNumericField( sender ).DisplayFormat , sender.value ); end;
  5. Hello! How execute double click in UniDBGrid title RunTime? I need simulate event as if I will be making double click in title UniDBGrid. It's need me for the column in UniDBGrid, they are creating in RunRime and UniDBGrid.ForceFit working not correctly.
  6. marcos.digirotas

    Remove item from the autoload of TUniDateTimePicker

    I don't know if it is the best way, but I reach my goal by adding the code: function afterCreate(sender) { sender.store.data.items[0].data.disp = '00:01'; }
  7. marcos.digirotas

    Remove item from the autoload of TUniDateTimePicker

    Hello Sherzod! Actually I would like to keep the interval in 15 minutes, but I would just like to remove the "00:00" time, or at least change this specific time to 00:01 and keep the others with 15 minutes intervals, example: 00:01, 00:15 , 00:30 ...
  8. Sherzod

    Access violation at address

    Добрый день, Какую сборку UniGUI Вы используете?
  9. estrify

    Questions about Hyperserver

    Dear UniGUI team: I would be pleased if you could replay following questions because I just upgrade to use this feature (Hyperserver) and I need to be sure about some basics: Hyperserver can create, recycle and destroy nodes, so it can move active sessions from one node to another. The sessionId actually has something like the node where it is created at the beginning of the string, has it?. So, when a session is moved from one node to another, it will maintain its whole session Id indicating on which node it was created, is this true? Is there a way for a session or its application to know on which node is running now?. This feature would be desirable, in addition to events in UniMainModule to signal leaving and entering node. This could help a lot when globally managing sessions. When Hyperserver moves sessions from one node to another, does it move each session individually, grouping them or all of them at the same time, in a kind of transaction? If the session to be moved has thrown a thread, will the thread be accessed correctly after the movement? Assuming that the Hyperserver installer was installed once in the deployed machine and restarted, when upgrading the version of unigui, is it necessary to use again the hyperserver installer on deployed machine or it is enough distributing the exe or the dll of the hyperserver? Thank you in advance, Regards,
  10. Sherzod

    Enable/Disable RowWidget in TUniDBGrid

    Try to analyze and test... function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) { if (sender.hasRowWidget) { columns[0].renderer = function(value, data, record) { // rowwidget column if (record.get('0') > 2000) { // first field index return "" // hide } else { return '<div class="' + Ext.baseCSSPrefix + 'grid-row-expander" role="presentation" tabIndex="0"></div>'; } } } }
  11. Frederick

    How To Hide Close Button Of The Login Form?

    Thank you. This works.
  12. Sherzod

    How To Hide Close Button Of The Login Form?

    Hello, One possible solution: procedure TUniLoginForm1.UniLoginFormCreate(Sender: TObject); begin Self.WebForm.JSInterface.JSConfig('closable', [False]); end;
  13. All the version of fresh re installation are same the which was installed first time
  14. I have a login form whose BorderStyle is bsSingle. I do not want users to be able to click the Close button at the top right of the form to close the application and display the page where the "Restart Application" link is shown. How do I hide the Close button? -- Frederick (UniGUI Complete - Professional Edition 1.90.0.1523)
  15. =GGG=

    Access violation at address

    Разместил приложение на IIS, после нескольких часов стабильной работы приложение падает. Все динамически созданные объекты почищаются, была сделана проверка на утечку памяти. В чем может быть причина .dll: 00003C2C: 02:10:14 [172.17.1.235]:Session <28Dg1VVipo1059662B4> Created. .dll: 00003C2C: 02:10:14 [HttpExtensionProc[172.17.1.235]]:EAccessViolation : Access violation at address 0704E328 in module 'WEBLogBook.dll'. Read of address 00000008 : Addr: $0704E328 .dll: 00003C2C: 02:10:19 [172.17.1.235]:Session <M5xz7t1iWD1059662BB> Created. .dll: 00003C2C: 02:10:19 [HttpExtensionProc[172.17.1.235]]:EAccessViolation : Access violation at address 0704E328 in module 'WEBLogBook.dll'. Read of address 00000008 : Addr: $0704E328 .dll: 00003C2C: 02:10:23 [172.17.1.235]:Session <l4EREpdj551059662BF> Created. .dll: 00003C2C: 02:10:24 [HttpExtensionProc[172.17.1.235]]:EAccessViolation : Access violation at address 0704E328 in module 'WEBLogBook.dll'. Read of address 00000008 : Addr: $0704E328 .dll: 00000D44: 02:10:25 [172.17.1.235]:Session <TZjKvNViXY1059662C1> Created. .dll: 000029D8: 02:10:46 [172.17.1.235,89.37.27.218]:Session <28Dg1VVipo1059662B4> Terminated. Reason: Shadow Session Terminated. .dll: 000029D8: 02:10:51 [172.17.1.235,89.37.27.218]:Session <M5xz7t1iWD1059662BB> Terminated. Reason: Shadow Session Terminated. .dll: 000029D8: 02:10:56 [172.17.1.235,89.37.27.218]:Session <l4EREpdj551059662BF> Terminated. Reason: Shadow Session Terminated.
  16. mahdi

    TUniDBLookupComboBox - autocomplete and no usertext

    thanks for advice. fixing my problem
  17. MarkB

    Blocking ShowModal not Blocking in my code.

    Never mind, figured it out.
  18. MarkB

    Enable/Disable RowWidget in TUniDBGrid

    Just a value from a column from the active Row in the Dataset.
  19. Sherzod

    Enable/Disable RowWidget in TUniDBGrid

    And what condition do you want to use?
  20. OK, I'm new here, having owned UniGui for years but first using it now. I run the blocking demo and the ShowModal is blocking, waiting for the ModalResult When I implement what I think is the same thing in my code, it doesn't block. MR1 := dlgNewGroups.ShowModal; <== My code. What's the blocking demo doing that is special that I'm somehow missing? Thanks
  21. Sorry, I was unable to attach the file, so I will leave the unit in writing ... This unit is where the export process is located, no installation or any other dependency is required ... to call the export just declare the unit and call the procedure ... XLSWriter.DataSetToXLS(DataSet,Arq_Name); Sorry, but I'm using a translator ... Report if it worked ... Good code ... Hugs unit uNativeXLSExport; // based on internet, generate basic BIFF5 XLS // http://sc.openoffice.org/excelfileformat.pdf // CodePage support (see WriteCodePage) // and Unicode compatibility - Radek Cervinka, delphi.cz interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Grids, Forms, Dialogs, db, dbctrls, comctrls; const { BOF } CBOF = $0009; BIT_BIFF5 = $0800; BOF_BIFF5 = CBOF or BIT_BIFF5; { EOF } BIFF_EOF = $000A; { Document types } DOCTYPE_XLS = $0010; { Dimensions } DIMENSIONS = $0000; type TAtributCell = (acHidden, acLocked, acShaded, acBottomBorder, acTopBorder, acRightBorder, acLeftBorder, acLeft, acCenter, acRight, acFill); TSetOfAtribut = set of TAtributCell; TXLSWriter = class(Tobject) procedure DataSetToXLS(ds: TDataSet; fname: String); private maxCols, maxRows: word; fstream: TFileStream; procedure WriteWord(w: word); procedure CellWord(vCol, vRow: word; aValue: word; vAtribut: TSetOfAtribut = []); procedure CellDouble(vCol, vRow: word; aValue: double; vAtribut: TSetOfAtribut = []); procedure CellStr(vCol, vRow: word; aValue: String; vAtribut: TSetOfAtribut = []); procedure WriteField(vCol, vRow: word; Field: TField); constructor create(vFileName: string); destructor Destroy; override; procedure SetCellAtribut(value: TSetOfAtribut; var FAtribut: array of byte); procedure StringGridToXLS(grid: TStringGrid; fname: String); protected procedure WriteBOF; procedure WriteEOF; procedure WriteDimension; procedure WriteCodePage; public end; implementation procedure TXLSWriter.DataSetToXLS(ds: TDataSet; fname: String); var c, r: Integer; xls: TXLSWriter; begin xls := TXLSWriter.create(fname); if ds.FieldCount > xls.maxCols then xls.maxCols := ds.FieldCount + 1; try xls.WriteBOF; xls.WriteCodePage; xls.WriteDimension; for c := 0 to ds.FieldCount - 1 do xls.CellStr(0, c, ds.Fields[c].FieldName); r := 1; ds.first; while (not ds.eof) and (r <= xls.maxRows) do begin for c := 0 to ds.FieldCount - 1 do xls.WriteField(r, c, ds.Fields[c]); inc(r); ds.next; end; xls.WriteEOF; // <2002-11-17> dllee // ?? Dimension ?? wirteEOF ??,???? if ??? Seek ?? position // if r > xls.maxrows then begin // xls.maxrows:=r+1; // xls.fstream.Seek(10,soFromBeginning); // xls.WriteDimension; // end; // ????? maxrows ?????,????????? 65535,??,????? finally xls.free; end; end; procedure TXLSWriter.StringGridToXLS(grid: TStringGrid; fname: String); var c, r, rMax: Integer; xls: TXLSWriter; begin xls := TXLSWriter.create(fname); rMax := grid.RowCount; if grid.ColCount > xls.maxCols then xls.maxCols := grid.ColCount + 1; if rMax > xls.maxRows then // ???????? 65535 Rows rMax := xls.maxRows; try xls.WriteBOF; xls.WriteDimension; for c := 0 to grid.ColCount - 1 do for r := 0 to rMax - 1 do xls.CellStr(r, c, grid.Cells[c, r]); xls.WriteEOF; finally xls.free; end; end; { TXLSWriter } constructor TXLSWriter.create(vFileName: string); begin inherited create; if FileExists(vFileName) then begin fstream := TFileStream.create(vFileName, fmOpenWrite); fstream.Size := 0; end else fstream := TFileStream.create(vFileName, fmCreate); maxCols := 100; // <2002-11-17> dllee Column ???????? 65535, ?????? maxRows := 65535; // <2002-11-17> dllee ???????????,????????????????? end; destructor TXLSWriter.destroy; begin if fstream <> nil then fstream.free; inherited; end; procedure TXLSWriter.WriteBOF; begin WriteWord(BOF_BIFF5); WriteWord(6); // count of bytes WriteWord(0); WriteWord(DOCTYPE_XLS); WriteWord(0); end; procedure TXLSWriter.WriteDimension; begin WriteWord(DIMENSIONS); // dimension OP Code WriteWord(8); // count of bytes WriteWord(0); // min cols WriteWord(maxRows); // max rows WriteWord(0); // min rowss WriteWord(maxCols); // max cols end; procedure TXLSWriter.CellDouble(vCol, vRow: word; aValue: double; vAtribut: TSetOfAtribut); var FAtribut: array [0 .. 2] of byte; begin WriteWord(3); // opcode for double WriteWord(15); // count of byte WriteWord(vCol); WriteWord(vRow); SetCellAtribut(vAtribut, FAtribut); fstream.Write(FAtribut, 3); fstream.Write(aValue, 8); end; procedure TXLSWriter.CellWord(vCol, vRow: word; aValue: word; vAtribut: TSetOfAtribut = []); var FAtribut: array [0 .. 2] of byte; begin WriteWord(2); // opcode for word WriteWord(9); // count of byte WriteWord(vCol); WriteWord(vRow); SetCellAtribut(vAtribut, FAtribut); fstream.Write(FAtribut, 3); WriteWord(aValue); end; procedure TXLSWriter.CellStr(vCol, vRow: word; aValue: String; vAtribut: TSetOfAtribut); var FAtribut: array [0 .. 2] of byte; slen: byte; begin WriteWord(4); // opcode for string slen := length(aValue); WriteWord(slen + 8); // count of byte WriteWord(vCol); WriteWord(vRow); SetCellAtribut(vAtribut, FAtribut); fstream.Write(FAtribut, 3); fstream.Write(slen, 1); {$IFDEF UNICODE} fstream.Write(AnsiString(aValue)[1], slen); {$ELSE} fstream.Write(aValue[1], slen); {$ENDIF} end; procedure TXLSWriter.SetCellAtribut(value: TSetOfAtribut; var FAtribut: array of byte); var i: Integer; begin // reset for i := 0 to High(FAtribut) do FAtribut := 0; { Byte Offset Bit Description Contents 0 7 Cell is not hidden 0b Cell is hidden 1b 6 Cell is not locked 0b Cell is locked 1b 5-0 Reserved, must be 0 000000b 1 7-6 Font number (4 possible) 5-0 Cell format code 2 7 Cell is not shaded 0b Cell is shaded 1b 6 Cell has no bottom border 0b Cell has a bottom border 1b 5 Cell has no top border 0b Cell has a top border 1b 4 Cell has no right border 0b Cell has a right border 1b 3 Cell has no left border 0b Cell has a left border 1b 2-0 Cell alignment code general 000b left 001b center 010b right 011b fill 100b Multiplan default align. 111b } // bit sequence 76543210 if acHidden in value then // byte 0 bit 7: FAtribut[0] := FAtribut[0] + 128; if acLocked in value then // byte 0 bit 6: FAtribut[0] := FAtribut[0] + 64; if acShaded in value then // byte 2 bit 7: FAtribut[2] := FAtribut[2] + 128; if acBottomBorder in value then // byte 2 bit 6 FAtribut[2] := FAtribut[2] + 64; if acTopBorder in value then // byte 2 bit 5 FAtribut[2] := FAtribut[2] + 32; if acRightBorder in value then // byte 2 bit 4 FAtribut[2] := FAtribut[2] + 16; if acLeftBorder in value then // byte 2 bit 3 FAtribut[2] := FAtribut[2] + 8; // <2002-11-17> dllee ?? 3 bit ??? 1 ??? if acLeft in value then // byte 2 bit 1 FAtribut[2] := FAtribut[2] + 1 else if acCenter in value then // byte 2 bit 1 FAtribut[2] := FAtribut[2] + 2 else if acRight in value then // byte 2, bit 0 dan bit 1 FAtribut[2] := FAtribut[2] + 3 else if acFill in value then // byte 2, bit 0 FAtribut[2] := FAtribut[2] + 4; end; procedure TXLSWriter.WriteWord(w: word); begin fstream.Write(w, 2); end; procedure TXLSWriter.WriteEOF; begin WriteWord(BIFF_EOF); WriteWord(0); end; procedure TXLSWriter.WriteField(vCol, vRow: word; Field: TField); begin case Field.DataType of ftString, ftWideString, ftBoolean, ftDate, ftDateTime, ftTime, ftWideMemo: CellStr(vCol, vRow, Field.asstring); ftAutoInc, ftSmallint, ftInteger, ftWord: CellWord(vCol, vRow, Field.AsInteger); ftFloat, ftBCD: CellDouble(vCol, vRow, Field.AsFloat); else CellStr(vCol, vRow, EmptyStr); // <2002-11-17> dllee ?????????? end; end; procedure TXLSWriter.WriteCodePage; begin WriteWord($0042); // OPCODE CODEPAGE WriteWord($0002); // size WriteWord($04E2); // CP1250 //- >http://sc.openoffice.org/excelfileformat.pdf , section 5.17 end; end.
  22. Yesterday
  23. Lenny

    Playing card images

    I am developing a simple card game. Naturally, it needs to involve a complete set of 52 playing card images. I have a set of .PNG files. If necessary, I can get .BMP files or some other kind. The problem is... How do I go about bringing these images into my uniGUI project? There is no TUniImage. I tried to make use of TUniImageList but couldn’t figure out how. At design time, this control doesn’t seem to let you do anything with it. Searched for help on the web but couldn’t find any. Another approach might be to put the images into the project's resource file, but how do I make use of them from there? Any ideas would be much appreciated.
  24. Hello, could you share please?
  25. Sherzod

    Enable/Disable RowWidget in TUniDBGrid

    Do you want to show or hide by condition, by value of a cell?
  1. Load more activity
×