Jump to content

logihouse

Members
  • Posts

    14
  • Joined

  • Last visited

Recent Profile Visitors

989 profile views

logihouse's Achievements

Newbie

Newbie (1/4)

0

Reputation

  1. Sorry if off topic. UniGui will probably be the chosen platform for PDA-extension of our warehouse management system, written in Delphi since 1996. We have made a custom browser based on FMX TWebBrowser to run our app. Everything works fine, except camera access. The camera does not open on the demo project. Same demo works fine with the Chrome browser. Maybe somebody here had same issue, and found a solution? Best regards Thomas
  2. As skilled Delphi developer unigui is very nice to work with on the code side. However, the screen layout composition differs very much from standard VCL-Delphi. The demos are very impressive, but they lack the design part completely. Is there a library with predefined mobile templates, where I can select a nice design to work with? I would like to buy a license, but I need to see some nice stuff first. This is how my screens look so far, - plain terrible..
  3. https://unigui.wikispaces.com/ does not exist any longer. Is there a new link? Best regards Thomas
  4. Thank you for a very nice product! I have found this script, that creates a touch numeric keyboard in the browser. It would be very useful in our mobile app. var numpad = { /* [INIT - DRAW THE ON-SCREEN NUMPAD] */ selector : null, // will hold the entire on-screen numpad display : null, // will hold the numpad display zero : null, // will hold the zero button dot : null, // will hold the dot button init : function () { // CREATE THE NUMPAD numpad.selector = document.createElement("div"); numpad.selector.id = "numpad-back"; var wrap = document.createElement("div"); wrap.id = "numpad-wrap"; numpad.selector.appendChild(wrap); // ATTACH THE NUMBER DISPLAY numpad.display = document.createElement("input"); numpad.display.id = "numpad-display"; numpad.display.type = "text"; numpad.display.readOnly = true; wrap.appendChild(numpad.display); // ATTACH BUTTONS var buttons = document.createElement("div"), button = null, append = function (txt, fn, css) { button = document.createElement("div"); button.innerHTML = txt; button.classList.add("numpad-btn"); if (css) { button.classList.add(css); } button.addEventListener("click", fn); buttons.appendChild(button); }; buttons.id = "numpad-btns"; // First row - 7 to 9, delete. for (var i=7; i<=9; i++) { append(i, numpad.digit); } append("⤆", numpad.delete, "ng"); // Second row - 4 to 6, clear. for (var i=4; i<=6; i++) { append(i, numpad.digit); } append("C", numpad.reset, "ng"); // Third row - 1 to 3, cancel. for (var i=1; i<=3; i++) { append(i, numpad.digit); } append("✖", numpad.hide, "cx"); // Last row - 0, dot, ok append(0, numpad.digit, "zero"); numpad.zero = button; append(".", numpad.dot); numpad.dot = button; append("✔", numpad.select, "ok"); // Add all buttons to wrapper wrap.appendChild(buttons); document.body.appendChild(numpad.selector); }, /* [ATTACH TO INPUT] */ attach : function (opt) { // attach() : attach numpad to target input field var target = document.getElementById(opt.id); if (target!=null) { // APPEND DEFAULT OPTIONS if (opt.readonly==undefined || typeof opt.readonly!="boolean") { opt.readonly = true; } if (opt.decimal==undefined || typeof opt.decimal!="boolean") { opt.decimal = true; } if (opt.max==undefined || typeof opt.max!="number") { opt.max = 16; } // SET READONLY ATTRIBUTE ON TARGET FIELD if (opt.readonly) { target.readOnly = true; } // ALLOW DECIMALS? target.dataset.decimal = opt.decimal ? 1 : 0; // MAXIMUM ALLOWED CHARACTERS target.dataset.max = opt.max; // SHOW NUMPAD ON CLICK target.addEventListener("click", numpad.show); } else { console.log(opt.id + " NOT FOUND!"); } }, target : null, // contains the current selected field dec : true, // allow decimals? max : 16, // max allowed characters show : function (evt) { // show() : show the number pad // Set current target field numpad.target = evt.target; // Show or hide the decimal button numpad.dec = numpad.target.dataset.decimal==1; if (numpad.dec) { numpad.zero.classList.remove("zeroN"); numpad.dot.classList.remove("ninja"); } else { numpad.zero.classList.add("zeroN"); numpad.dot.classList.add("ninja"); } // Max allowed characters numpad.max = parseInt(numpad.target.dataset.max); // Set display value var dv = evt.target.value; if (!isNaN(parseFloat(dv)) && isFinite(dv)) { numpad.display.value = dv; } else { numpad.display.value = ""; } // Show numpad numpad.selector.classList.add("show"); }, hide : function () { // hide() : hide the number pad numpad.selector.classList.remove("show"); }, /* [BUTTON ONCLICK ACTIONS] */ delete : function () { // delete() : delete last digit on the number pad var length = numpad.display.value.length; if (length > 0) { numpad.display.value = numpad.display.value.substring(0, length-1); } }, reset : function () { // reset() : reset the number pad numpad.display.value = ""; }, digit : function (evt) { // digit() : append a digit var current = numpad.display.value, append = evt.target.innerHTML; if (current.length < numpad.max) { if (current=="0") { numpad.display.value = append; } else { numpad.display.value += append; } } }, dot : function () { // dot() : add the decimal point (only if not already appended) if (numpad.display.value.indexOf(".") == -1) { if (numpad.display.value=="") { numpad.display.value = "0."; } else { numpad.display.value += "."; } } }, select : function () { // select() : select the current number var value = numpad.display.value; // No decimals allowed - strip decimal if (!numpad.dec && value%1!=0) { value = parseInt(value); } // Put selected value to target field + close numpad numpad.target.value = value; numpad.hide(); } }; /* [INIT] */ window.addEventListener("load", numpad.init); But how do I import into Unigui? Or can I find an other Unigui touch numeric keyboard component somewhere? I am using latest trialversion.
  5. Your system works very well, but I have a single problem: The title says 'MainmForm' instead of 'uniGUI Touch Demo'. It is the 'All features demo'. I even tried: procedure TMainmForm.UnimFormCreate(Sender: TObject); begin caption := 'uniGUI Touch Demo'; IsPhone := (upPhone in UniSession.UniPlatform);... .. but it did not help. Running newest version, downloaded today. Best regards Thomas Riedel
  6. I get this error when showing a form with a tunibutton, I placed there. Do I need to reinstall? uniGUI Mobile Web Application Framework - Trial Edition Copyright FMSoft 2009-2019. All rights reserved. Version:1.50.0 build 1482 The demos work fine. It when I add stuff it fails. OK, I realized, that I had been using standard tUniButton, not tUniMButton, that solved it.
  7. Problem solved. It was using a wrong version of Midas.dll (From Delphi7)
  8. Hello I have installed the latest demo version in version 10.2 Tokyo, but I get acces violation when i opening the project in the IDE. Otherwise it runs fine. It seems to be related to ClientDataset. Do I need an update from Embarcadero? Best regards Thomas Riedel, Logihouse
  9. Yes I am running trial, but I will purchase when my project is ready. Trial version: FMSoft_uniGUI_Complete_Professional_1.0.0.1366_Trial.exe Best regards Thomas
  10. I uninstall unigui prior to reinstalling it. The installer does not prompt for any registration, jumps directly to the 'Select directory' screen. Do I need to remove any files manually? Best regards Thomas
  11. I have tried to install Unigui many times, but nothing happens. I have Berlin and Seattle installed, and neither of these get the components on the palette after running the installer. It happened after I was forced to reinstall Seattle after installing Berlin. Before that, it worked very fine. Do you have any cloues? I am about to purchase your excellent product. Best regards Thomas Riedel
×
×
  • Create New...