PDA

View Full Version : what IDE for FPC



D
07-11-2004, 11:42 PM
hi there

I'm newbie in pascal programming but I allready hate pf ide so I must ask what IDE instead pf for windows shouls I use.
please write some sugestions, tahnks

WILL
08-11-2004, 12:48 AM
Dev-Pascal from Bloodlust Software has an IDE for Windows. But if you prefer the Delphi look and feel, You may want [url=http://lazarus.freepascal.org/]Lazarus (http://www.bloodshed.net/devpascal.html) instead.

Both are quite functional, but Lazarus is the one out of the two that is currently actively being developed.

cairnswm
08-11-2004, 05:15 AM
Lazarus has a lot more user friendliness features than Dev-Pascal. I first got DevPascal up and running and was very frustrated by the lack of key-shortcuts etc. Once I installed Lararus I was happy :)

D
09-11-2004, 12:53 AM
and how about those ide's

CREdit (http://www.praven3.com/credit/)

CrimsonEditor (http://www.crimsoneditor.com)

cairnswm
09-11-2004, 05:30 AM
Both those seem to be formatted text editors as opposed to IDEs. I had a look at both and have downloaded them. Neither mentions the option of being able to compile. I'll have a look at both and let you know.

{MSX}
09-11-2004, 08:24 AM
I was wondering, any of you ever thought about doing it's own IDE ?
I think about it some times, maybe it would not be that hard using some code from fpc (ie scanner and parser, for completition and such tools) and some advanced widget such as synedit.. Maybe studing a bit gdb to make a nice integrated debugger :P

noeska
09-11-2004, 08:50 AM
I thought of it, but decided i do not have the time to develop it, so i use delphi5 standard for an ide.

Legolas
09-11-2004, 03:50 PM
Dev-Pas seems discontinued. The Dev-Pas module is not present on sourceforge CVS repository anymore... I'm trying in my spare time to work on sources in order to include some features (like key shortcuts and better code completion) and reworking on user interface (first of all by removing marsCap component... I hate rainbow captions!). Maybe it could be nice to replace SynEdit with Scintilla (I like code folding, of course!)...

It's a lot of work, I know, so if someone is intrested to give me some help...

:wink:

WILL
10-11-2004, 01:16 AM
What I think is strongly needed. Is for someone to take FPC and look over some Visual components(FPC version of VCL...?) and design something that is completely cross-platform. Reason being is that Delphi & Kylix as great as they are, onlt covers 2 of the many, many other platforms that FPC covers.

:!: Also, Kylix has problems compiling, nevermind running, on the 2.6.x Kernel of Linux. :!:

To support all of the FPC platforms it should be written using only FPC compatable components and in Free Pascal it's self. I may soon find myself in the possition where I am going to be using FPC exclusively. So I will be quite interested in a all platforms(esp. Debian/Linux) IDE for Free Pascal. (Ask those that know me well enough, they'll tell you what I do when I find I need a tool/lib. ;))


Legolas: If you create a site or web page for the project. I'll keep tabs on it's progress. Screenshots would be of benifit aswell.

SuperSayajinBR
10-11-2004, 10:34 AM
:!: BAD ENGLISH COMING :!:

I had an idea to build a IDE. I'm thinking to use SynEdit @ http://sourceforge.net/projects/synedit/, its used by Dev c++ and Dev Pascal. But I haven't time to look for this now. But, my vacations are coming e I can to try any thing. If you want to begin the project. I can help after. Oks!

;)

Legolas
10-11-2004, 12:04 PM
Ok, I'll do a web page asap (:=saturday or sunday, I think). Stay tuned for more infos :wink:

I found this (http://wxdsgn.sourceforge.net/) project that looks nice...

wxWidgets (http://www.wxwidgets.org/) is cross-platform, but no freepascal porting, at this time... :cry:

{MSX}
10-11-2004, 12:32 PM
wxWidgets (http://www.wxwidgets.org/) is cross-platform, but no freepascal porting, at this time... :cry:

It is really hard to do a porting of wxwidgets. It's all c++. That means that there's no easy way to do an header translation. It is probably necessary to do a plain api layer above it in c++.

There are probably better widget libraries for pascal, GTK2 for example :P
I would love a nice IDE made in GTK2 :P (and there's Glade for form design)

Bye!

Legolas
10-11-2004, 12:45 PM
MSX:Yes, it's true... I think it would be nice to do a form designer embedded in DevPas. Not like Lazarus... it produces huge files!

PS: when a sequel of "Nardo and the broken astronav"? :wink:

cairnswm
10-11-2004, 12:49 PM
I noticed that SynEdit is available in Lazarus and therefore possibly cross platform.

{MSX}
10-11-2004, 12:56 PM
MSX:Yes, it's true... I think it would be nice to do a form designer embedded in DevPas. Not like Lazarus... it produces huge files!

PS: when a sequel of "Nardo and the broken astronav"? :wink:

I dont' think doing a form designer is all that hard if one knows well the widget toolkit he's going to use.

Anyway glade-2 is the best form designer i've seen.. The only problem is that it is not embeddable in other project (afaik): you must do the form in glade, an than use the generated file (no double click on event to get the method :P )

PS if you think to add a form designer in your custom DevPas let us know :P I'd like to help!

PPS I'd love to do Nardo2 :P But my friend has no more time to help.. without his demential humor i cannot do that :P but who knows ? Maybe in future... :wink:

PPPS: i've looked at the gnu debugger.. it is far easier than i thought to use.. I think i'll keep using it!

SuperSayajinBR
10-11-2004, 01:54 PM
Ok, I'll do a web page asap (:=saturday or sunday, I think). Stay tuned for more infos :wink:

I found this (http://wxdsgn.sourceforge.net/) project that looks nice...

wxWidgets (http://www.wxwidgets.org/) is cross-platform, but no freepascal porting, at this time... :cry:

GODNESS! It's a RAD interface for Dev Cpp and Open Source. Its looks like very nice! I'm downloading it now...

wilbur989
14-11-2004, 08:38 PM
Ok, I'll do a web page asap (:=saturday or sunday, I think). Stay tuned for more infos :wink:

I found this (http://wxdsgn.sourceforge.net/) project that looks nice...

wxWidgets (http://www.wxwidgets.org/) is cross-platform, but no freepascal porting, at this time... :cry:

The reason that there is no wxWidget prot to free pascal is that freepascal cannot link a c++ object. It is planned on being done but not until afte 2.0 releases.

The reason to luse wxWidgets over any other toolkit is that it is very similar to the vcl. It is not just a component suite either.

Another option would be to use the KOL. The only drawback here is that it is win 32 only.

I personally feel that at this point GTK is probably that only visuial component library usable for freepascal and will reain so for quite some time.

-Jeremy

WILL
14-11-2004, 09:07 PM
Well there is the option of using JEDI-SDL and SDL Controls that behave exactly like the Windows controls.

It'd sort of bring you back to the old DOS days though, when your applications were sole contained within themselves...

Legolas
15-11-2004, 03:33 PM
Ok... I started working on DevPas in my spare time :D

Much job to do... The source code is a little bit confused, for me... :oops:
I worked a bit on the user interface, redesigning dialogs and panels, and by adding key shortcuts for the UI, like in Delphi. I tried to reorganize the code by adding an ActionList also. I removed some non-standard components, in order to do (in the future...) a porting on Lazarus, for multiplatform purposes.

Next step is to work on SynEdit component in order to add editable key shortcuts, add some multi-language support to UI, ...uhm... oh, embedding a debugger, of course!

Well... I should write a ToDo list, also... :wink:



Here some screenshots (icons are in wrong place, I know... ) :shock:

http://itaprogaming.free.fr/DevPas_img/devpas1.png
(An empty IDE,...)

http://itaprogaming.free.fr/DevPas_img/devpas2.png
(...an IDE with some files,...)

http://itaprogaming.free.fr/DevPas_img/compdlg.png
(...the Compiler settings dialog,...)

http://itaprogaming.free.fr/DevPas_img/envdlg.png
(...the Environment settings dialog,...)

http://itaprogaming.free.fr/DevPas_img/about.png
(...About dialog,...)

http://itaprogaming.free.fr/DevPas_img/devpas_splash.png
(...and the splash form, of course!)

Comments & suggestions, please! :D

{MSX}
15-11-2004, 06:42 PM
Much job to do... The source code is a little bit confused, for me... :oops:
I worked a bit on the user interface, redesigning dialogs and panels, and by adding key shortcuts for the UI, like in Delphi. I tried to reorganize the code by adding an ActionList also. I removed some non-standard components, in order to do (in the future...) a porting on Lazarus, for multiplatform purposes.

Next step is to work on SynEdit component in order to add editable key shortcuts, add some multi-language support to UI, ...uhm... oh, embedding a debugger, of course!

Well... I should write a ToDo list, also... :wink:


Nice job!! I looks better than the original version. The only problem is that i see it difficoult to port it to other platform. Ok for removin' non-standard components, but i don't think it is enought.There's a lot of other things that will probably need to be rewritten.
The best way would be to try and keep the gui separated from the core, but that mean probably to redesign the program (i don't know how it is designed now).
Naturally I hope i'm mistaking and to see dev-pas running on linux soon :P

noeska
15-11-2004, 07:07 PM
why gnu-pascal?
in what format do you store settings? XML?
will you provide support cross compiling to linux or arm?

Legolas
15-11-2004, 07:14 PM
Nice job!! I looks better than the original version. The only problem is that i see it difficoult to port it to other platform. Ok for removin' non-standard components, but i don't think it is enought.There's a lot of other things that will probably need to be rewritten.
The best way would be to try and keep the gui separated from the core, but that mean probably to redesign the program (i don't know how it is designed now).
Naturally I hope i'm mistaking and to see dev-pas running on linux soon :P

I hope that, soon or later, Lazarus can compile crossplatform applications without (or with little) troubles... :)

At current state of development, Lazarus can't compile a complex application like DevPas, but I'm confident that will be able to do it in near future :o

{MSX}
15-11-2004, 07:38 PM
Legolas can you give me some information about how dev-pas work ?
I have some questions:
How does it call the compiler ? It just run the executable capturing the output or has freepascal compiled in the IDE ?
And about the debugger? Original Dev-pas had the debugger? How was interfaced?

Thanks :P

Legolas
15-11-2004, 07:47 PM
why gnu-pascal?
in what format do you store settings? XML?
will you provide support cross compiling to linux or arm?

The DevPascal's sources I have can handle FPC or GNU Pascal compiler, and settings are stored in .ini format.

FreePascal provides i386/linux to arm/linux cross compiling, AFAIK, but is in an early stage... Anyway i'll include an option to support cross-compiler, :wink:


Legolas can you give me some information about how dev-pas work ?
I have some questions:
How does it call the compiler ? It just run the executable capturing the output or has freepascal compiled in the IDE ?
And about the debugger? Original Dev-pas had the debugger? How was interfaced?

Well... DevPas just run&capture... And - of course :cry: - the debugger is in text mode only. No IDE integration. Nothing. Nada. Nihil. :lol:
It would be a nice feature to embedding a debugger in DevPas... :)

{MSX}
15-11-2004, 08:11 PM
Well... DevPas just run&capture... And - of course :cry: - the debugger is in text mode only. No IDE integration. Nothing. Nada. Nihil. :lol:
It would be a nice feature to embedding a debugger in DevPas... :)

It's a must :P
I've looked around for gdb and i've seen there are some units in FPC sources for interfacing it.
The unit don't seem to be all that nice at first look. I don't know if they just "run and capture" or uses libgdb. I've searched around but there's very little documentation on libgdb. That's the official:
http://sources.redhat.com/gdb/current/onlinedocs/gdbint_5.html#SEC28

quite small uh ? :P

If you are interested, we could open a thread about how to interface gdb. I'm quite interested in it. :P

Legolas
15-11-2004, 08:33 PM
Ok, it's a good idea! In the meantime I'll look at the DevCpp source to see how internal debugger is implemented.

WILL
16-11-2004, 03:52 AM
Legolas: Looks great. :)

Just a few comments on your revision of DevPascal. I think it'll be best if you try to remove all 3rd party components besides SynEdit(as it seems to be supported by Delphi, Kylix and FPC). This will help you support more than one compiler and reduce the mess of the entire code. That and well who needs them anyhow. :)

As for what to compile this under... Lazarus makes HUGE exe files so maybe not the best option, but if you can manage to eventually migrate it to become almost 100% barebones-FPC compilable, that'd probably be the best thing for it. Then you basically have a self sustaining development tool like that of Borland's Delphi (IDE and the Object Pascal compiler together compiled from a previous version of Delphi).

It would be nice to have a inline debugger aswell, but for now I think I could settle for jus the usual kind of debugger that we are all used to from Borland(Turbo Pascal and Delphi's debuggers that when the warning, hint or error is clicked on in the error messages it takes you to the line of code that it has the problem with).


:!: The revision looks great so far. A word or warning however if you plan to try using Kylix for porting... As of now the latest version of the Linux Kernel 2.6.x will not run or allow Kylix 3 executables to be ran through the IDE either. There is an issue with the new kernel and the compiler. Some sites offer some information about the problem, but I, myself have not found a way to do anything to fix the problem. If you find a fix, great, but I'd recommend fixing before you rely to tightly on Kylix until a future version of it is released(with fixes for the 2.6.x kernel problem) :!:


Keep up the great work! If you create a page for your 'variation' of Dev-Pascal, I can post a news item on this and maybe bring more traffic and attention to your project. ;)

Legolas
16-11-2004, 04:08 PM
Will: thanks! :D

My first task is to remove all components not totally supported.
Well... I know, Lazarus makes huge exes, but with UPX it's possible to reduce the size.

About Kylix: I think the biggest problem is porting ALL vcl components to CLX... cross compiling works by using CLX components only. However, at this time I can't work on a PC with linux installed, so... :)


PS. I'll do a web page as soon as I have a well working version of DevPas :wink:

cairnswm
17-11-2004, 07:03 AM
Legolas: As soon as you have a working version I will be willing to test it for you. I currently have two projects on the go with FreePascal (Both using JEDI-SDL and my S2DL).

Currently I use Lazarus as a develoment environment but once I am happy with my program I recompile using the command line FPC - this results in exes that are a bit less that half the lazarus compiled version. (So make sure we can get the command line from within the IDE).

Fcw
26-08-2005, 03:04 AM
I was very happy when I see it!
I hope it could be true?
but the time now is 2005/8/26
Time flies!
The project be finished?
I was a chinese!And I was be ready for exam what pass it for university now !
Next year 2006 I will leave middle school
I hope dev-pas could be cme true!
Lazarus is too big for write small program.We need a RAD like dev-pas
It unhappy when i found bloodshed was no longer go on.Even I though like Legolas but I have not enough kownledge for it !May be it change for when i go to University.
When it down!I hope I could get it and I will transalted it into Chinese for the people in China!
I hope I could get a source for Dev-pas,could you mail me one?My e-mail:foolwolf@126.com
Thanks
My English is bad.Sorry! :oops:

Sly
26-08-2005, 03:28 AM
The Delphi source for the original DevPas is available at http://www.bloodshed.net/devpascal.html.

This source would not include Legolas' improvements though.

WILL
26-08-2005, 09:37 AM
Hmm... I almost completely forgot about this project. :)

Me and Legolas have been working at the GBA support for FPC for some time now, I wonder if this wonderful IDE project has gotten any further. I'd have to guess not, but he did do a great job updating it to match with the look and feel of the more current Dev-C++ though.

Perhaps once we are done getting all the major GBA hardware supported Legolas can add some of the GBA features in the linker/compiler options aswell. Making it the first GBA supported IDE for a Pascal compiler. ;)

As for translation; Thats actaully a great idea. But instead of completely going through all the source and having to change all the characters to match the language you want it to be ported to(Spanish, Chinese, Japanese, French, Italian, Russian, German, etc) you just create and add a new language file and then when you runthe IDE you can choose which language you want to use durring a 'First Run' wizard. *shrug* It's an idea. :)


Fcw: Welcome to PGD! :)

Incubii
26-08-2005, 01:48 PM
while i like lazarus i just want an editor like Dev Pascal with the code sensing and javadoc features of Eclipse. That would be really awesome. I dont need any gui shit like delphi as none of my projects use that part of it. Its just for syntax highlighting and code sense. And of course compiling. It would be really code to add these sorts of features to this IDE

Legolas
26-08-2005, 02:19 PM
I'm sorry, but I lost dev-pas sources in an hard drive disaster... I did not succeed to save them and - shame on me - no backup :cry:

Looking on the new fpc for gba, I'm thinking about an IDE lighter/smaller (from scratch) and gba targeted, with some little tools, like image converter and so on. I would like to use scintilla instead of synedit, because it have a nice feature: code folding. What do you think about?

WILL
27-08-2005, 05:36 PM
Hmm... it could be taken a slight bit further and go for game development in general. And IDE targeted for game development. :) And of course it would need to have the kind of code completion features that Delphi has.

It could turn out that there will be 2 major IDEs outside of the realm of Borland. Lazarus and this new one. :)

Question is... do we start from scratch or 'use and abuse' code from Dev-Pascal? AND what do we develop it with in the beginning? :) Lazarus or Dev-Pascal?

Sly
29-08-2005, 12:35 PM
I've just found Programmer's Notepad 2 (http://www.pnotepad.org/), which is written pretty much the way that I was writing my own IDE. He even has middle-click to close tabs! And the find dialog is a strip along the bottom of the editing window (in the CVS version)! Just like I had done already in my IDE because those features rock so much in Firefox.

Yes, it's written in C++ with the WTL, but I'll forgive the author for that because he also writes Delphi stuff, like a Scintilla wrapper for Delphi. It is written around the Scintilla edit control that Legolas mentioned and has support for projects and project groups.

Eriken
29-08-2005, 01:30 PM
I've used Programmers Notepad 2 for a while, and I find it quite handy for multiple uses. And now I learned the middlebutton-thingy too nice nice ;)
_____
Eriken

Fcw
31-08-2005, 12:32 PM
Long ago I begin use the UEStdio it sopport many thing and autocomplete
even it support pascal language files in the webpage but I do a better one for myself.I think it very good,but it only a bug that had to debug my program.I need the FreePascal IDE for in the dos.
Lazarus is very good but it run slow, I was tired of it.
I ever goto the bloodshed but I can't visit it!
hope Dev-pas could be done!

L505
06-09-2005, 02:59 AM
I would consider hiding the component palette in Lazarus if you don't want that stuff in your face and in the way. I am planning to have an option to hide the component palette in a project called Lazarus RB (http://z505.com/cgi-bin/qkcont/qkcont.cgi?p=Lazarus-RB-Edition).

I use Lazarus RB Edition for CGI development alot, so I don't need to have the component pallette shoved in my face. I feel your pain. Sometimes, you just don't need the components in your way: not everything is a desktop GUI application. If you hide the component palette, Lazarus is a pretty good text editor! (along with a kick ass modular plug-in system in RB edition).

For the fellow who was talking about building small applications, consider KOL. You can build KOL applications visually in Delphi, and then compile them with no modifications to the source code in Lazarus (windows only, not linux right now). Obviously that's not a true solution, but I plan to build plug-ins for Lazarus RB which assist KOL development (and a whole load of other stuff, like Pascal Server Pages).