Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 03/22/24 in Posts

  1. News https://store.falconsistemas.com.br Added 4 additional months of subscription for all components for all users. From now on all components have 1 year for fixes, new components and improvements for all users 🚀🚀🚀.
    4 points
  2. Например: 1. OnCreate -> procedure TMainForm.UniFormCreate(Sender: TObject); begin UniPanel1.ClientEvents.ExtEvents.Values['OnAfterrender'] := 'function OnAfterrender(sender)'+ '{'+ ' sender._setStyles = function(color) {'+ ' sender.setBodyStyle("-webkit-border-radius: 5px; -khtml-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px");'+ ' sender.setBodyStyle("background-color", color);'+ ' sender.setBodyStyle("border-color", color);'+ ' sender.setBodyStyle("border-width" , "2px");'+ ' };'+ ' sender._setStyles("red");'+ '}'; end; 2. RunTime -> procedure TMainForm.UniButton1Click(Sender: TObject); begin UniPanel1.JSInterface.JSCall('_setStyles', ['green']); end;
    1 point
  3. Hello @Abaksoft, your tip was of great help, however, in my case I don't need other devices to access the "server", just the computer itself that is compiling. So, I made a summary of the manual. 1 - Create the san.cnf file in the OpenSSL bin folder (C:\Program Files\OpenSSL-Win64\bin). The content of the file looks like this: [req] default_bits = 2048 distinguished_name = req_distinguished_name req_extensions = req_ext x509_extensions = v3_req prompt = no [req_distinguished_name] countryName = XX stateOrProvinceName = XX localityName = XXXX organizationName = XXXX commonName = 127.0.0.1: Self-signed certificate [req_ext] subjectAltName = @alt_names [v3_req] subjectAltName = @alt_names [alt_names] IP.1 =127.0.0.1 Replace the "X" with your parameters 2 - Open cmd as admin 2.1 - cd C:\Program Files\OpenSSL-Win64\bin 3 - Run command openssl genrsa -out root.key 2048 openssl req -x509 -days 3650 -new -nodes -key root.key -out root.pem -config san.cnf openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout key.pem -out cert.pem -config san.cnf 4 - You created the three files (root.pem, cert.pem, Key.pem) inside the bin folder. Copy these three files to the root directory where the .exe of your unigui project is located. 5 - Finally, open the Windows certificate manager (certmgr.msc), navigate to the "trusted root certificate authorities" folder and import the cert.pem file Close browser e run project.
    1 point
  4. You should still be getting a response of some kind from the browser. Can you share that? Do you mind sharing the url so we can try to help with the diagnoses.
    1 point
  5. Hello As a workaround, open UniMap.pas, and add the below into line 1752 IfThen(autoClose=false, 'closeOnClick', ''), JSStatement('null'), So it will look like this
    1 point
  6. Добрый день! Спасибо! Заплатили.
    1 point
  7. Hi. I add here solution that maybe useful for someone: https://www.experts-exchange.com/questions/26933022/How-to-lock-out-a-file-or-path-from-within-a-Delphi-app.html question: How to lock out a file or path from within a Delphi app? proposal: try this; rename the folder you want to test to; from: New Folder1 to: New Folder1.{ED7BA470-8E54-465E-825C-99712043E01C} So, when your Delphi program rans?, it rename back to New Folder1 rename file code; lock folder; renamefile(New Folder1, New Folder1.{ED7BA470-8E54-465E-825C-99712043E01C}); and back unlock folder; renamefile(New Folder1.{ED7BA470-8E54-465E-825C-99712043E01C}, New Folder1 ); explanation: {ED7BA470-8E54-465E-825C-99712043E01C} is one of several special names that the Windows systems recognize and treat in different ways. For instance, the control panel 'folder' has a special icon and there are some things you are not allowed to do with the folder or its contents. I think this particular folder identification was introduced in Win7. Many writers have named it the "God" folder. more info: https://en.wikipedia.org/wiki/Windows_Master_Control_Panel_shortcut https://answers.microsoft.com/en-us/insider/forum/all/god-mode-other-windows-10-tips-tricks/9e81e023-9179-4b59-9937-f1e9aab537b4
    1 point
  8. Hi, How can perform calculations (or checks) only on the client side? I mean field c=field a+field b, but directly in the client store or on the values present directly in the editors (DB) that are in the form. But all on client side, without making ajax calls to the server? (Server dataset must be updated on post record) Thank you
    1 point
  9. Sir I'm using UniGUI Complete Professional V1.90.0.1560 in RAD C++ Builder 10.4 Update 2. I'm getting an Ajax error when trying to assign a new title to a stream of a UniChart. I have the following procedure: void __fastcall TMainForm::SetNewTitle(TUniChart *ThisChart, int StreamNo) { UnicodeString NewTitle; NewTitle = "New Title"; if (StreamNo==0) ThisChart->JSInterface->JSCall((UnicodeString)L"chart.series[0].setTitle",ARRAYOFCONST((NewTitle))); if (StreamNo==1) ThisChart->JSInterface->JSCall((UnicodeString)L"chart.series[1].setTitle",ARRAYOFCONST((NewTitle))); if (StreamNo==2) ThisChart->JSInterface->JSCall((UnicodeString)L"chart.series[2].setTitle",ARRAYOFCONST((NewTitle))); } As long as the UniChart has 3 UniLineSeries, everything works fine when I call SetNewTitle(UniChart,0); SetNewTitle(UniChart,1); SetNewTitle(UniChart,2); But as soon as I use 3 UniBarSeries, UniAreaSeries or any other series on the UniChart, then calling SetNewTitle for all 3 series gives an Ajax error: "Cannot read properties of undefined (reading 'SetTitle')" The easiest fix would be to allow us to set the Title property for each Series in the SeriesList: UniChart->SeriesList->Series[0]->Title = "New Title"; UniChart->SeriesList->Series[1]->Title = "New Title"; UniChart->SeriesList->Series[2]->Title = "New Title"; Then we don't even have to use the JSCall which is not working for UniBarSeries, UniAreaSeries and other series in C++Builder. By the way, I have to tell you that the uniGUI framework is most amazing. I only have the greatest respect for your work, you are a genius!! If only we could fix this bug then I will be a vey happy customer…
    1 point
  10. calm down, calm down, don't rush, one solution at a time, please! :-)
    1 point
  11. my css collection, used in servermodule, customcss /*------- CONFIGURAÇÕES DAS TABS ---------------- */ /*Altera a parte superior da Tab, incluso tabs*/ .x-tab-default-top { border-top-left-radius: 0; /*Radius arredonda os cantos*/ border-top-right-radius: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 0; padding: 5px 10px 10px 10px; /*T-R-B-L altura dos botões*/ border-width: 0 0 0 0; /*Borda dos Botões da Tab*/ border-style: none ; /*solid*/ border-color: #32404e; background-color: #ffffff; /* #1e3b5e Cor do Botão da page */ background-image: none; } /*Cor da fonte do botão da Tab ativo*/ .x-tab-default-active .x-tab-inner { color: #000000; } /*Distância do botão fechar para as margens*/ .x-tab-default .x-tab-close-btn { top: 4px; right: 4px; } /*Intensidade do fundo mask-box ajuste a Opacidade*/ .x-mask { opacity: 0.4; background: rgb(0, 0, 0) none repeat scroll 0% 0%; } /*Opções do Hold Overlay*/ #holdon-overlay { opacity: .7 !important; } /*Retira as bordas dos paineis*/ .x-panel-body-default { border-width: 0; border-style: none; padding: 0px 0px 0px 0px; /*Margem do painel da tab*/ } /*Coloca sombra em qualquer Panel*/ .pnlcard { box-shadow: 0 8px 6px -6px gray !important; background:white !important; border: 1px solid silver !important; } /* .x-tab-bar-default-horizontal { height: 0px; }*/ /* Cores da Tab*/ .x-tab-bar-default{ border-style:none; border-width:0 0 0; border-color:#ffffff; background-color:#ffffff; background-image: none; } /*Cor fonte pag ativa*/ .x-tab-active .x-tab-inner { color: #ffffff !important; } /*Altura dos botões em relação a borda inferior da Tab*/ .x-tab-bar-default-top { padding: 5px 0px 5px 0px; /* T-R-B-L */ } /*Modifica a barra inferior do botão*/ .x-tab-bar-strip-default { border-style: solid; padding: 3px 3px 3px 3px; /*T-R-B-L altura dos botões*/ border-color: transparent; background-color: #32404e; } /*Cores de fontes do label da Tab em foco*/ .x-tab .x-tab-inner { font-weight: bold; color:#000000; border: none;} .x-tab-over .x-tab-inner { font-weight: bold; color:#7c7c7c; border: none;} .x-tab-active .x-tab-inner { font-weight:bold; color:#ffffff; border: none;} /*Cor tab mouse over*/ .x-tab-over.x-tab-default-top, .x-tab-over.x-tab-default-left, .x-tab-over.x-tab-default-right { background-image: none; background-color: #e3e3e3; } /*Cor da Fonte da Tab Ativa*/ .x-tab.x-tab-active.x-tab-default .x-tab-inner-default { color: #ffffff; } /*Cor da Tab Ativa*/ .x-tab.x-tab-active.x-tab-default-top { background-image: none; background-color: #32404E; } /*Cor da Tab ativa quando perde o foco*/ .x-tab.x-tab-active.x-tab-default-top { background-image: none; background-color: #32404e; } /*Cor da Fonte da Tab desativada*/ .x-tab.x-tab-disabled.x-tab-default .x-tab-inner-default { color: #ffffff; } /*Cor da Tab Desativada*/ .x-tab.x-tab-disabled.x-tab-default-top, .x-tab.x-tab-disabled.x-tab-default-left, .x-tab.x-tab-disabled.x-tab-default-right { background-image: none; background-color: #e6e6e6; } /*Cor de Foco com teclas*/ .x-keyboard-mode .x-tab-focus.x-tab-default { border-color: #e6e6e6; background-color: #e6e6e6; } /*cor do botão da tab quando foco em tab ativa*/ .x-keyboard-mode .x-tab-focus.x-tab-over.x-tab-default { border-color: #32404e; background-color: #32404e; } /*Cor do botão da tab quando recebe o foco*/ .x-keyboard-mode .x-tab-focus.x-tab-active.x-tab-default { border-color: #32404e; background-color: #32404e; } /*---------- CONFIGURAÇÕES PADRÃO ----------------------*/ /*Colori e Arredonda os Edits*/ /*Fora de foco*/ .x-form-text { border-radius: 1px; -moz-border-radius: 1px; -webkit-border-radius: 1px; border-color: #E0E0E0; box-shadow: 1px 1px 1px #E0E0E0; } .x-form-text:focus, .x-form-text:hover, .x-form-text:active { /*Em foco*/ border-radius: 1px; -moz-border-radius: 1px; -webkit-border-radius: 1px; border:1px solid gray !important; background: #FFFFB4 !important;/*Amarelinho rgb(255, 255, 180)*/ box-shadow: 1px 1px 1px #E0E0E0;/*Cinza rgb(224, 224, 224)*/ } /*Muda cor dos botoes e remove bordas*/ /*Bordas dos botoes de login*/ .Borda{border-radius: 50px;} .Borda:hover{border-radius: 50px;} /*BtnVideoAula*/ .bntVideoAula { background:#047b4a !important;/*Cor escura*/ -webkit-transition: background 0.2s ease-in-out; transition: background 0.2s ease-in-out; /*border: none !important;*/ border-radius: 50px !important; } .bntVideoAula:hover { background:#06bd70 !important;/*Cor clara*/ -webkit-transition: background 0.2s ease-in-out; transition: background 0.2s ease-in-out; /*border: none !important;*/ border-radius: 50px !important; } /*BtnLogin*/ .bntLogin { background:#75a3a3 !important;/*Cor escura*/ -webkit-transition: background 0.2s ease-in-out; transition: background 0.2s ease-in-out; border: none !important; border-radius: 0px !important; } .bntLogin:hover { background:#a3c2c2 !important;/*Cor clara*/ -webkit-transition: background 0.2s ease-in-out; transition: background 0.2s ease-in-out; border: none !important; border-radius: 0px !important; } /*Remove sombra dos forms*/ .x-css-shadow { -webkit-box-shadow: none !important; -moz-box-shadow: none !important; box-shadow: none !important; } .VerticalCSS{ transform: rotate(-90deg); -webkit-transform: rotate(-90deg); /* Safari/Chrome */ -moz-transform: rotate(-90deg); /* Firefox */ -o-transform: rotate(-90deg); /* Opera */ -ms-transform: rotate(-90deg); /* IE 9 */ } .x-btn-default-large{ background-color: rgb(65, 65, 65) !important; background-image: none !important; border-width:0 !important; } .x-btn-default-large-over {background-color: rgb(85, 85, 85) !important;} .x-accordion-hd .x-tool-expand-top, .x-accordion-hd .x-tool-expand-bottom {background-position:0 -176px;} .x-accordion-hd .x-tool-collapse-top, .x-accordion-hd .x-tool-collapse-bottom {background-position:0 -224px;} .menubtn{ text-align: left; float: left; width: 70%; margin-left: 20px; margin-top: -2px; } .iconright{ text-align: right; float: right; width: 8%; margin-top: -6px; } .div100{ width: 100%; padding-top:5px; } .iconWhite .fa-sf-white{ color: white; } .iconYellow .fa-sf-white{ color: yellow; } .fa-sf-inverse { color: rgb(44, 69, 89); } .f-btn-transparent:focus, .f-btn-transparent:hover { border-color:rgb(97, 123, 145); background-color:rgb(97, 123, 145); } .btfocus:hover { border-color:#E0E0E0; background-color:#E0E0E0; } /*Bordas dos forms*/ .x-window-default{/*Falta atribuir em forms separados Login Suporte ficou muito Grande*/ background-color: white; border-color: #E0E0E0;/*Cinza rgb(224, 224, 224)*/ border-radius: 0px; border-style: none; border-width: 0px; border-height: 0px; padding: 0; /*height:519px !important; /*tamanho do seu form - 10px*/ /*width:669px !important; /*tamanho do seu form - 10px*/ } .NotValid { border-style: solid; border-width: 1px; border-color: Red; } /*Colorir Menu principal*/ /* ._treemenu .x-treelist, ._treemenu .x-treelist-row{ background-color: #2c4559;/*Cor Escura*/ /*} ._treemenu .x-treelist-row-over{ background-color: #252F38;/*Cor Clara*/ /*}*/ /*UniTreeMenu - Inicio*/ /* Aqui ira determina a COR DE Fundo do menu */ .x-treelist-nav { background-color: [[MENU_COLOR]] !important;/* #32404e; moccasin; */ background-repeat: no-repeat; background-attachment: fixed; background-image: url( 'https://gepimagens.ergonsistemas.com.br/Backgroud_620x1080.png'); /*background-image: url( 'files/Backgroud_Menu/Backgroud_4.png' );*/ background-position: 0px 50% !important; padding: 0 0 0 0; overflow: auto !important; scrollbar-width: thin; /*estilo do scrool para o mozilla */ scrollbar-color: #778088 #d6d9db; /*estilo do scrool para o mozilla */ } .x-treelist-nav .x-treelist-item-text { /*menu lado Esquerdo*/ color: White; /*cor da letra do menu*/ margin-left: 27px; /*27 espaçamento da esquerda para direita dos Itens do menu*/ margin-right: 15px; /*espaçamento da esquerda para direita dos Grupos do menu*/ font-size: 16px; /*tamanho das letras*/ line-height: 30px; /*altura da linha do menu*/ } .x-treelist-nav .x-treelist-item-icon:before, .x-treelist-nav .x-treelist-item-tool:before, .x-treelist-nav .x-treelist-item-expander { line-height: 30px; /* 44 é o padrao */ color: White; } /*Menu Expandidos*/ .x-treelist-nav .x-treelist-item-expanded { background-color: #324f67 !important; } /*Menu Selecionado*/ /*Modelo 1*/ .x-treelist-nav .x-treelist-item-selected > .x-treelist-row::before { background-color: #008ae6 !important; } /*Modelo 2*/ /*.x-treelist-nav .x-treelist-item-selected > .x-treelist-row { background-color: #008ae6 !important; }*/ /*Passa o mouse*/ .x-treelist-nav .x-treelist-row-over{ background-color: #808080 !important; } .x-treelist-nav::-webkit-scrollbar { width: 7px; height:7px; background:#d6d9db; } .x-treelist-nav::-webkit-scrollbar-track { background: rgba(0,0,0,0.1); } .x-treelist-nav::-webkit-scrollbar-thumb { border-radius: 7px; height:7px; background:#778088; } /* UniTreeMenu - Fim */ /* Altura da linha na Grid */ .GridLotacao .x-grid-column { height: 20px; } .GridLotacao .x-grid-cell { height: 20px !important; line-height: 20px !important; }
    1 point
  12. In this topic , I try to share some css for you . For dear novices I will explain, you have this code in UniServerModule -- > CustomCSS Copy and assign the object to the CLS section in Layoutconfig when designing, or use this command when executing bitbtn1.JSCall('addCls', [' ...... ']); you can do if you like first, this sites can help to build css runtime https://htmlcheatsheet.com/css/
    1 point
  13. Dears, I was finally able to do something: If one day, you will have to develop an Unigui app: - Under local network, - Without Internet, - Which requires an SSL (example Scann Camera) Then read the following: I thought, wrongly to create "Self Signed Certificate". Today, most of browsers reject them. So, after 3 days search, I understood that it was necessary to use another technic : Create a localhost Certificate by mkcert This is inspired by (thx to the Author) : https://technixleo.com/create-locally-trusted-ssl-certificates-with-mkcert-on-windows OK...Step by Step : 1. Installing mkcert on Windows 1.1 mkcert can be installed by Chocolatey To install Chocolatey, you must first ensure the Policy AllSigned Open PowerShell as Admin Get-ExecutionPolicy if Restricted then : Set-ExecutionPolicy AllSigned 1.2 To install Chocolatey see https://chocolatey.org/install In PowerSehlle type (in a single line): Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) 1.3 install mkcert In PowerSehlle type: choco install mkcert The mkCert Directory (by default) is: C:\Users\...\AppData\Local\mkcert 2. Generate my 2 pem files In PowerSehlle type: mkcert -install This will generate 2 files in C:\Users\...\AppData\Local\mkcert: rootCA.pem rootCA-key.pem 3. Generate a localhost.p12 Certificate In PowerSehlle type: mkcert -pkcs12 localhost This will generate localhost.p12 certificate which will be in the PowerShell directory, ie: ..\System32 4. Import the localhost Certificate Touche Win + R key: mmc File > Add > Certificates > Add Computer account local computer OK Right click / on WEB Hosting Certificates > All Tasks Machine Room Select localhost.p12 Certificate Next specify the password (default): changeit Check: Key Exportable Place of the Certificate on : Web Hosting (dépend on your windows langage : example for french : Hébergement Web) This will create 2 Certificates (in Web Hosting): - localhost - mkcert myDESKTOP-xxx 5. Project Unigui Requires 3 files: cert.pem key.pem root.pem Do not use root.pem = rootCA.pem ( C:\Users\...\AppData\Local\mkcert ) key.pem = rootCA-key.pem ( C:\Users\...\AppData\Local\mkcert ) wich are generated by mkcert. Use instead the new 3 files, obtained online (by converting the p12 file in a new global pem file) 5.1 Split localhost.p12 into 3 Files You can obtain the 3 files via a conversion of the Certificate: localhost.p12 Use Online: https://www.sslshopper.com/ssl-converter.html - Upload the Certificate File: localhost.p12 - indicate the type: PFX/PCKC#12 - Convert To: Standard PEM - Password: changeit You will get global File, containing 3 blocks : start ...end Separate them with Notebook, and save them into 3 files: The first = cert.pem The second = root.pem The third = key.pem 5.2 Compile your project and run it : https://localhost:8077/ is Secure Have fun... ___________________ PS: if you are interesting by an easy way to scan BareCode via your Android device (wich requires an SSL url) you can use Falcon Store - Components Delphi from our Friend Marlon. Very fast and light ! http://forums.unigui.com/index.php?/topic/11359-falcon-store-components-delphi-httpsstorefalconsistemascombr/#comment-60260
    1 point
  14. A release without uSesamoBase.Json (internal test) Demo Responsive2.zip
    1 point
  15. Hi Folks From now on, all projects at the " uniGUI Does... (free category)" from me will be published here, at the official uniGUI Forum, for just one-two days to uniGUI Subscriber only for free. Other projects that that I just improved or got donated from other users (like fontawesome, awesome buttons etc) and made some small changes and improvements, I will never remove and will always stay here for uniGUI Subscribers, also. After that period, from now on, All new projects I will be removed due to: 1- Space limits 2- My new Biz model. I removed today a lot of OLD STUFF but due to space quota that was way up to the limit. Only for this reason. If you, in the last five years gave me some projects that I made some modification, and you don't agree with this new policy, and your projects appears in my catalog, let me know that I will remove at once from it but never from here, the forum. There are some 5-6 small projects that I could not reach the original author to get their position on this issue. So, be aware that I never intent to use your code without your proper consent. I only charge for material that I made myself or bought the libs and improved it. That never was the case in those small projects. Since I got more than 200 uniGUI projects now, I kind of lost the control to identify some of my original partners or authors in almost 7 years of uniGUI adventure. And one of the major sources (code and solutions), was Sherzod. So, I always credit him and others in all works. And those projects will always stay here for free to uniGUI subscribers. Thanks in advance for your understanding but I also got to be fair with Fashad and his support to my work. So, if you're not an uniGUI subscriber, please don't bother to ask me off line or by Whatsapp. I 'don't even answer. Buy it at https://www.uniguiexpress.com Another issue, is that new fad: ChatGPT is the new one. And there are lot of people charging for courses and projects for a verify simple function and single API call. So here it is for free. Enjoy ! Toke me lass than 10 minutes to get this working and is not fair to even charge for it. All will be available to purchase at https://uniguiexpress.com Follow the post above to download ChatGPT silly code. Really lame... lol
    1 point
×
×
  • Create New...