Recent

Author Topic: Some questions  (Read 24858 times)

typo

  • Hero Member
  • *****
  • Posts: 3051
Some questions
« on: June 07, 2011, 10:30:02 pm »
Good afternoon!

I am a Delphi developer and I would like to know if Lazarus would run on cell phones and tablets? If you can send me a complete list of platforms and supported databases would help me greatly. I have a financial, stock, sales (tax coupon + NFE) running InterBase with Delphi 6 + and want to rewrite everything in Lazarus ... I'm just using RxLib and hopefully not have problems with Lazarus, as they saw that the RxLib runs on a Mac, for example.

Another issue:
Would it be possible to use natural voice (in several languages​​) for the system to read text in different languages​​? For this I used the Microsoft Agent and worked well, but this feature has been discontinued and I am looking for a solution to run on other platforms like Linux, Mac .. Thanks,

Fernando Mattos
Insurance Solutions

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Some questions
« Reply #1 on: June 07, 2011, 10:45:40 pm »
Mac OS X has had text-to-speech for years, but only for English. The next version of OS X, though, will include that capability for other languages:

http://osxdaily.com/2011/05/15/mac-os-x-lion-new-text-to-speech-voices-samples/

It's easy to use in Cocoa. For any NSTextView object, just call its startSpeaking and stopSpeaking methods. More info here:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSTextView_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40004140

I find the voice currently rather disembodied, but as I understand it you'll be able to choose from various voices, perhaps more natural sounding too.

I don't think iOS has this capability, although Apple is working with Nuance to bring voice technologies (speech recognition, probably) to iOS, so maybe text-to-speech will come too.

Thanks.

-Phil

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Some questions
« Reply #2 on: June 07, 2011, 11:03:10 pm »
I am a Delphi developer and I would like to know if Lazarus would run on cell phones and tablets? If you can send me a complete list of platforms and supported databases would help me greatly. I have a financial, stock, sales (tax coupon + NFE) running InterBase with Delphi 6 + and want to rewrite everything in Lazarus ... I'm just using RxLib and hopefully not have problems with Lazarus, as they saw that the RxLib runs on a Mac, for example.

Unless you develop a Web app and run Interbase on the Web server, you'll probably want to use something like Sqlite on mobile devices. Sqlite is included on every Mac and every iOS device. It's also the basis of the HTML5 local database support.

Thanks.

-Phil

avra

  • Hero Member
  • *****
  • Posts: 2584
    • Additional info
Re: Some questions
« Reply #3 on: June 08, 2011, 08:59:40 am »
I am a Delphi developer and I would like to know if Lazarus would run on cell phones and tablets? If you can send me a complete list of platforms and supported databases would help me greatly. I have a financial, stock, sales (tax coupon + NFE) running InterBase with Delphi 6 + and want to rewrite everything in Lazarus...
I really don't get it. You have 1000+ posts but it seams that you are doing your first conversion from Delphi to Lazarus?!?  :( :o :(
Interbase can be replaced with Firebird (embedded or not), and GUI applications can be easily built for ARM Linux and ARM WinCE. I don't know about other systems.

For rich ajax applications that run on every mobile platform with a browser, you can consider MORFIK FX: http://www.morfik.com

Quote
Would it be possible to use natural voice (in several languages​​) for the system to read text in different languages​​? For this I used the Microsoft Agent and worked well, but this feature has been discontinued and I am looking for a solution to run on other platforms like Linux, Mac...
For Win/Lin/Mac there is an easy to use command line TTS: http://espeak.sourceforge.net
« Last Edit: June 08, 2011, 09:07:48 am by avra »
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

fabienwang

  • Sr. Member
  • ****
  • Posts: 449
  • Lazarus is the best
    • My blog
Re: Some questions
« Reply #4 on: June 08, 2011, 09:31:51 am »
avra,
it's not a message from typo, he just forwarded the questions ^^. (correct me if i'm wrong).
I'm using Arch Linux.
Known for: CPickSniff, OpenGrabby
Contributed to: LazPaint

typo

  • Hero Member
  • *****
  • Posts: 3051
Re: Some questions
« Reply #5 on: June 08, 2011, 03:09:25 pm »
Yes, you are right.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Some questions
« Reply #6 on: June 08, 2011, 05:14:07 pm »
I am a Delphi developer and I would like to know if Lazarus would run on cell phones and tablets?

Yes, for smartphones, Lazarus can create programs for Windows Mobile, Linux-based phones, iPhone and Android: http://wiki.lazarus.freepascal.org/Smartphone_Development

For Tablets it should be similar: Windows Mobile, Linux-Based, iPhone, Android and Windows 7

LCL applications can run in Windows Mobile, Linux and Windows 7 from that list. On Android and iPhone you can use the native APIs instead.

Quote
If you can send me a complete list of platforms and supported databases would help me greatly.

List of FPC targets: http://wiki.lazarus.freepascal.org/Platform_list

Some supported databases are listed here: http://wiki.lazarus.freepascal.org/Lazarus_Database_Tutorial

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Some questions
« Reply #7 on: June 08, 2011, 06:43:30 pm »
For rich ajax applications that run on every mobile platform with a browser, you can consider MORFIK FX: http://www.morfik.com

Nice to see Morfik coming around to the idea of multiple UI's for the same app, which is what mobile development requires (whether Web or native):

http://wiki.morfik.com/wiki3/Creating_Interfaces_for_the_Mobile_Web

Many Web developers create their client-side (browser) UI's as plain HTML/JS/CSS files, usually oriented around a JavaScript library like Sencha Touch, jquery, or, what I use, Dashcode (http://web.me.com/macpgmr/ObjP/MacXPlatform_Part9.html). Then the Pascal (or PHP or whatever) goes on the server, but it's not really used to generate the UI. That way you design two or more UI's that are pretty much uncoupled from the server.

An advantage to this approach is that you can add PhoneGap into the mix and create a native iOS, Android, etc. app from your HTML/JS/CSS with very little effort. I've tested this  and PhoneGap really does work well. PhoneGap also allows considerable access to the underlying device hardware and capabilities via a nicely-done library that you can call from JavaScript.

http://www.phonegap.com/

http://docs.phonegap.com/

Quote
For Win/Lin/Mac there is an easy to use command line TTS: http://espeak.sourceforge.net

Probably not appropriate for a commercial app. Please read the license!

Thanks.

-Phil

JimBeam

  • New Member
  • *
  • Posts: 36
Re: Some questions
« Reply #8 on: June 09, 2011, 09:05:56 am »
Quote
For Win/Lin/Mac there is an easy to use command line TTS: http://espeak.sourceforge.net

Probably not appropriate for a commercial app. Please read the license!

Thanks.

-Phil


Huh? eSpeak seems to be GPL licensed. If you just execute the application (i.e. don't link to it) that would be fine in a commercial application.
You'd only have to give out the source of your commercial app if you linked to eSepak or if you use code from it.

Or is there something I've missed? (Maybe license of the voices/languages?)

fabienwang

  • Sr. Member
  • ****
  • Posts: 449
  • Lazarus is the best
    • My blog
Re: Some questions
« Reply #9 on: June 09, 2011, 09:07:21 am »
no you are totally right JimBeam,
once you just call the binary, you wouldn't have to open your code.
I'm using Arch Linux.
Known for: CPickSniff, OpenGrabby
Contributed to: LazPaint

jl

  • Full Member
  • ***
  • Posts: 178
Re: Some questions
« Reply #10 on: June 09, 2011, 09:42:24 am »
Nice to see Morfik coming around to the idea of multiple UI's for the same app, which is what mobile development requires (whether Web or native):

http://wiki.morfik.com/wiki3/Creating_Interfaces_for_the_Mobile_Web


Hi Phil, I'm thinking of using fcl-web's Ext.Direct together with Ext-Designer.

How does Morfik compare?  After the unsuccessful foray into ExtPascal, I'm a bit wary of nice brochures and documentations - but with code that is unstable.

One thing about FPC is that it doesn't have nice docs, but the code works - once you get it right.  ;)
« Last Edit: June 09, 2011, 09:48:36 am by touchring »

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Some questions
« Reply #11 on: June 09, 2011, 04:42:04 pm »
Hi Phil, I'm thinking of using fcl-web's Ext.Direct together with Ext-Designer.

How does Morfik compare?

I have not used either fcl-web or Morfik. My point about Morfik is that their docs indicate to me two things: (1) They have a clear vision for mobile UI and (2) they're able to clearly communicate that vision. I would avoid tools that can't do those two things. Of course, Morfik also has to deliver, but I can't comment on that.

Sencha's Ext Designer certainly looks interesting (and, again, great docs - look at the .pdf's). It doesn't look like a full IDE, but it does appear to be a complete UI designer for creating your app's client-side .js files.

Is there a trial version of Ext Designer? I don't see that on the Sencha site.

I've been using Dashcode for my last two fairly modest Web apps. Dashcode is free with Xcode and _is_ a full IDE. Plus it has a feature that I haven't seen elsewhere: ability to design both desktop and mobile UI's in the same project.

Thanks.

-Phil

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Some questions
« Reply #12 on: June 09, 2011, 04:46:28 pm »
Huh? eSpeak seems to be GPL licensed. If you just execute the application (i.e. don't link to it) that would be fine in a commercial application.
You'd only have to give out the source of your commercial app if you linked to eSepak or if you use code from it.

Or is there something I've missed? (Maybe license of the voices/languages?)

I would suggest that the choice of tool and library should be guided by the needs of the app and its users. Shelling out to a console app to do text-to-speech seems, well, inappropriate for commercial software, which can't look awkward or amateurish.

Thanks.

-Phil

jl

  • Full Member
  • ***
  • Posts: 178
Re: Some questions
« Reply #13 on: June 10, 2011, 04:05:42 am »
Sencha's Ext Designer certainly looks interesting (and, again, great docs - look at the .pdf's). It doesn't look like a full IDE, but it does appear to be a complete UI designer for creating your app's client-side .js files.

Is there a trial version of Ext Designer? I don't see that on the Sencha site.


I suppose Ext Designer is used to generate ExtJS GUI.

Yes, there's a trial, download link here - http://www.sencha.com/products/designer/download/

After downloading, it will ask you to register an account to activate it.

I'll check out DashCode in the meantime.  By the way, how do you link DashCode to fpc?  There doesn't seem to be much on that on the web.  Thks.

Phil

  • Hero Member
  • *****
  • Posts: 2737
Re: Some questions
« Reply #14 on: June 10, 2011, 04:32:16 am »
I'll check out DashCode in the meantime.  By the way, how do you link DashCode to fpc?  There doesn't seem to be much on that on the web.  Thks.

You can probably use just about any server-side approach you want. I've tested Dashcode with PHP, ASP and Pascal. ExtPascal's FCGIApp unit has been split off from the UI stuff, so you can use it without using ExtJS. (I seem to recall that it was added to fcl-web or something like that too.)

Here's a simple example of calling a Pascal app on the server via Ajax from the browser:

Event handler in Dashcode main.js:

function xmlLoaded(xmlRequest)
{
   if (xmlRequest.status == 200) {
      // Parse and interpret results
      // XML results found in xmlRequest.responseXML
      // Text results found in xmlRequest.responseText
      eval(xmlRequest.responseText);
   }
   else {
      alert("Error fetching data: HTTP status " + xmlRequest.status);
   }
}

function button1Click(event)
{

var feedURL = "http://localhost/cgi-bin/cgigateway.cgi?Name=text1";
var onloadHandler = function() { xmlLoaded(xmlRequest); };
var xmlRequest = new XMLHttpRequest();
xmlRequest.onload = onloadHandler;
xmlRequest.open("GET", feedURL);
xmlRequest.setRequestHeader("Cache-Control", "no-cache");
xmlRequest.send(null);

}

Pascal code fragment that responds to Ajax request:

uses
  FCGIApp;

type
  TAppThread = class(TWebSession)
  published
    procedure Home; override;
  end;


implementation

procedure TAppThread.Home;
begin
  Response := 'document.getElementById("' + Query['Name'] + '").innerText = "Hello, again";';
end;

 

TinyPortal © 2005-2018