delphi/lazarus

Programovacie jazyky, rady, poradňa...
nitr0
Medium Expert
Medium Expert
Príspevky: 123
Registrovaný: 08 sep 2007, 21:17
Bydlisko: BA

delphi/lazarus

Príspevok od používateľa nitr0 »

zdravim
chcel by som prerobit "obesenca" ktoreho som nasiel tuto

Kód: Vybrať všetko

http://delphiforfun.org/programs/Hangman2.htm
tak aby isiel pod linuxom, mal by na to sluzit lazarus ktory tvrdi write once compile anywhere avsak import projektu z delphi do lazarusu tam akosi nefunguje a kompletne prekopirovanie procedur taktiez nepomaha..nechapem jak ten lazarus vlastne funguje ked to ma byt to iste ako delphi..alebo sa v tom hangmanovi pouzivaju kniznice ktore pozna iba windows?

mozete mi to dostat niekto do pustitelnej podoby v lazaruse? staci aj tato jednoducha verzia na par riadkov.

Kód: Vybrať všetko

http://delphiforfun.org/programs/Hangman1.htm
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: delphi/lazarus

Príspevok od používateľa audiotrack »

áno, používa windowsácke knižnice. Popozeraj všetky tie knižnice čo tam sú ktoré z nich nie sú multiplatformové, a nájdi si ich unixové ekvivalenty. Väčšinou to bývajú s Q prefixom, takže napríklad QControls, QForms a podobne.
nitr0
Medium Expert
Medium Expert
Príspevky: 123
Registrovaný: 08 sep 2007, 21:17
Bydlisko: BA

Re: delphi/lazarus

Príspevok od používateľa nitr0 »

ok..dik a vadi ked to robim vo wine? malo by to ist aj na linuxe potom nie? akurat potom nechapem preco vo windowse pouziva normalne forms, controls..bez Q prefixu..len vidim ze ten hangman pouziva aj Windows co by ma zaujimalo aka je toho obdoba v lazaruse
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: delphi/lazarus

Príspevok od používateľa audiotrack »

nie, keď to spravíš vo windowse, nepôjde to na linuxe (jedine ak cez nejaký emulátor). A dôvod prečo to nepôjde je práve ten, že používa windowsácke verzie tých knižníc. Ono sa to robí asi takto nejak (ukážka z mojej bakalárky):

Kód: Vybrať všetko

uses
{$IFDEF WIN32}
  Windows, Graphics, Controls, Forms, ExtCtrls, 
{$ENDIF}
{$IFDEF LINUX}
  QGraphics, QControls, QForms, QExtCtrls,
{$ENDIF}
  SysUtils, Classes, Math;
pričom ty si musíš zistiť ktoré knižnice ti kde treba (ktoré sú univerzálne, a ktoré majú svoje náhrady - potom musíš zistiť ako sa volajú). Prerobenie programu na multiplatformový nie je vôbec také jednoduché ako sa na prvý pohľad zdá
nitr0
Medium Expert
Medium Expert
Príspevky: 123
Registrovaný: 08 sep 2007, 21:17
Bydlisko: BA

Re: delphi/lazarus

Príspevok od používateľa nitr0 »

co potom znamena ten popis v nazve? compile anywhere..ja som myslel ze to funguje tak ze to napisem pouzijem kniznucu napr Control a ked to skompilujem pod linuxom sa to same prerobi na to Qcontrol..potom jedine co to znaci je asi to ze je mozne programovat v object pascale aj pod linuxom nic viac
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: delphi/lazarus

Príspevok od používateľa audiotrack »

áno, lazarus je editor pre delphi na linux. Nič viac. Ak chceš písať multiplatformovo, musíš vedieť aké sú rozdiely medzi platformami a pár iných vecí
nitr0
Medium Expert
Medium Expert
Príspevky: 123
Registrovaný: 08 sep 2007, 21:17
Bydlisko: BA

Re: delphi/lazarus

Príspevok od používateľa nitr0 »

ok tak dik..pravdepodobne sa na to vykaslem asi je to moc na mna :)

// co je ale zaujimave tak ked si v lazaruse vo win nahadzem tie iste veci co tam su, skopcim procedury tak aj tak to nejde spustit..je to vobec kompatibilne s delphi?

o tom ze ta moznost prerobit delphi na lazarus vobec nefunguje ani nehovorim
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: delphi/lazarus

Príspevok od používateľa audiotrack »

áno, je "to" kompatibilné nakoľko je to rovnaký jazyk len rôzne editory. Ak ti to nejde, bude chyba niekde inde (dfm súbory, rôzne verzie knižníc..)
nitr0
Medium Expert
Medium Expert
Príspevky: 123
Registrovaný: 08 sep 2007, 21:17
Bydlisko: BA

Re: delphi/lazarus

Príspevok od používateľa nitr0 »

a s tym sa da spravit co? lebo som skusal aj svoje stare projekty a ani jeden nesiel takisto ako toto
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Re: delphi/lazarus

Príspevok od používateľa chrono »

nitr0 napísal:co potom znamena ten popis v nazve? compile anywhere..ja som myslel ze to funguje tak ze to napisem pouzijem kniznucu napr Control a ked to skompilujem pod linuxom sa to same prerobi na to Qcontrol..potom jedine co to znaci je asi to ze je mozne programovat v object pascale aj pod linuxom nic viac
Znamená to to, že keď použiješ knižnice dostupné pre OS, v ktorom to chceš používať, tak naozaj stačí skompilovanie (teda napr. keď budeš používať Glib+Gtk tak to pôjde všade, kde tie knižnice máš).
Milsa
Light Expert
Light Expert
Príspevky: 72
Registrovaný: 18 apr 2011, 22:58

Re: delphi/lazarus

Príspevok od používateľa Milsa »

Táto téma je už dosť stará, ale nepáči sa mi, že niektorí o Lazarovi nevedia dosť na toľko, aby poskytli správne rady. Takže pre osvetlenie: Lazarus je multiplatformový a čo sa napíše v jednom OS bude fungovať aj na druhom OS. Samozrejme, určité rozdiely v platformách sú, ale pri bežnom programovaní s bežnými triedami sa tieto problémy dajú ľahko riešiť.

Osobná skúsenosť: V Delphi som začal programovať jednu hru. Po čase som kód previedol do Lazara a skompiloval som to v Linuxe. Išlo to, ale grafika správne nefungovala. Po analýze problému som zistil, že grafika nešla preto, lebo súbory boli malými písmenami a v programe sa otvárali súbory s veľkými písmenami. Po oprave išlo všetko tak ako malo.

Ospravedlňujem sa, že píšem do starej témy, ale keďže som toto vygooglil, takisto to môže vygoogliť niekto iný a z reakcií by mohol nadobudnúť dojem, že Lazarus je nepoužiteľný pre multiplatformové aplikácie. BTW, prerábanie kódu z Delphi na Lazarus je jednoduchšie než som čakal.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: delphi/lazarus

Príspevok od používateľa BX »

To, že je Lazarus multiplatformný nemá s multiplatformným kódom vôbec nič spoločné. Ak v lazare napíšem program využívajúci winApi, veľmi ťažko to spustím na linuxe, však?
Audiotrack, ani chrono nenapísali nič chybne. Naopak ty, Milsa, áno, takže ak toto niekto vygoogli, prosím, neberte jeho príspevok vážne :)
M&M
Light Professional
Light Professional
Príspevky: 944
Registrovaný: 20 mar 2012, 17:30

Re: delphi/lazarus

Príspevok od používateľa M&M »

Vedeli by ste mi poradit, kde stiahnem Delphi? Stiahol som asi 2 verzie a ani jedna mi nejde vraj nie je kompatibilna s win.
dykeer
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 102
Registrovaný: 02 jan 2011, 21:21
Kontaktovať používateľa:

Re: delphi/lazarus

Príspevok od používateľa dykeer »

minik460 napísal:Vedeli by ste mi poradit, kde stiahnem Delphi? Stiahol som asi 2 verzie a ani jedna mi nejde vraj nie je kompatibilna s win.
Ak myslíš legálne free trial, tak http://www.embarcadero.com/products/delphi
M&M
Light Professional
Light Professional
Príspevky: 944
Registrovaný: 20 mar 2012, 17:30

Re: delphi/lazarus

Príspevok od používateľa M&M »

ako free trial? nie je to nahodou tak, ze to uz nie je spoplatnene vobec?
dykeer
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 102
Registrovaný: 02 jan 2011, 21:21
Kontaktovať používateľa:

Re: delphi/lazarus

Príspevok od používateľa dykeer »

Delphi je komerčný produkt, tak zadarmo nebude http://www.embt.cz/cs/produkty/1-delphi
Zdarma je opensource Lazarus založený na free pascale http://www.lazarus.freepascal.org/
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: delphi/lazarus

Príspevok od používateľa BX »

Delphi Lite je zdarma
Milsa
Light Expert
Light Expert
Príspevky: 72
Registrovaný: 18 apr 2011, 22:58

Re: delphi/lazarus

Príspevok od používateľa Milsa »

BX napísal:To, že je Lazarus multiplatformný nemá s multiplatformným kódom vôbec nič spoločné. Ak v lazare napíšem program využívajúci winApi, veľmi ťažko to spustím na linuxe, však?
Audiotrack, ani chrono nenapísali nič chybne. Naopak ty, Milsa, áno, takže ak toto niekto vygoogli, prosím, neberte jeho príspevok vážne :)
Písal som o programovaní s bežnými triedami. Programovanie s pomocou WinAPI za bežné nepovažujem (žiada si to ďalšie vedomosti a začiatočník by s tým určite nezačínal).

//autoeditácia príspevku (25.6.2014 22:03:16)
BX napísal:Delphi Lite je zdarma
Nemyslím, že má význam piplať sa s oklieštenou verziou, keď Lazarus oklieštený nie je a je zadarmo.
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: delphi/lazarus

Príspevok od používateľa Fabo »

Milsa napísal:Táto téma je už dosť stará, ale nepáči sa mi, že niektorí o Lazarovi nevedia dosť na toľko, aby poskytli správne rady. Takže pre osvetlenie: Lazarus je multiplatformový a čo sa napíše v jednom OS bude fungovať aj na druhom OS. Samozrejme, určité rozdiely v platformách sú, ale pri bežnom programovaní s bežnými triedami sa tieto problémy dajú ľahko riešiť.
Jak rozmyslam, tak rozmyslam... jazyk ktory nie je principialne multiplatformovy ma nenapada...
Tu bol problem s kniznicami. Ked pouzijes windows kniznice, tak neurobis nic. Pokial nezozenies tie iste kniznice v linux verzii.
Milsa napísal:Osobná skúsenosť: V Delphi som začal programovať jednu hru. Po čase som kód previedol do Lazara a skompiloval som to v Linuxe. Išlo to, ale grafika správne nefungovala. Po analýze problému som zistil, že grafika nešla preto, lebo súbory boli malými písmenami a v programe sa otvárali súbory s veľkými písmenami. Po oprave išlo všetko tak ako malo.
Trochu fail, nevediet ze unixy su case-sensitive co sa tyka filesystemu, ak ides programovat na linux... ale dobre. A pointa?

[quote="[url=http://www.hojko.com/viewtopic.php?p=2035812#p2035812]Ospravedlňujem sa, že píšem do starej témy, ale keďže som toto vygooglil, takisto to môže vygoogliť niekto iný a z reakcií by mohol nadobudnúť dojem, že Lazarus je nepoužiteľný pre multiplatformové aplikácie. BTW, prerábanie kódu z Delphi na Lazarus je jednoduchšie než som čakal.[/quote]

Neviem ako. Program je presne tak pouzitelny pre multiplatformove aplikacie ako si ho urobis. Ci v Lazaruse ci v Delphi ci v C alebo C#.
Milsa
Light Expert
Light Expert
Príspevky: 72
Registrovaný: 18 apr 2011, 22:58

Re: delphi/lazarus

Príspevok od používateľa Milsa »

Tak rozmýšľaj. Skutočne multiplatfomový je Javascript, ak to potrebuješ tak dokonale presne.

Fail to nebol. Spustil som, nešlo to. Hľadal som chybu, narazil som na funkciu, ktorá generovala názvy a vtedy ma napadlo, že to generuje veľkými písmenami a ja som potreboval malé, tak som to upravil. ale ak potrebuješ len rýpať, tak si poslúž. Neviem, kde som napísal, že som nevedel, že Linux rozlišuje veľké a malé písmená. Ale, aby som uspokojil tvoju zvedavosť, tak ti napíšem, že to bolo programované pre Windows a len zo zvedavosti som chcel vidieť kompiláciu a spustenie v Linuxe.
Napísať odpoveď