Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: Graafinen käyttöliittymä

Sivun loppuun

Triton [22.02.2008 21:11:46]

#

Löytyykö Pascaliin lisäkirjastoja/moduuleja, joilla saisi aikaiseksi graafisia käyttöliittymiä? Vai täytyykö mennä Delphin -puolelle ennen kuin sellaisia löytyy?

Kray [22.02.2008 21:29:15]

#

Mitä tarkoitat graafisella käyttöliittymällä? Sdl:stä on ainakin olemassa pascal versio. www.libsdl.org

Triton [22.02.2008 21:38:47]

#

Siis, että voidaan toteuttaa ohjelma, joka avataan pikakuvakkeesta ja sitten aukee ikkuna jossa voi olla tekstikenttijä, painonappeja sekä kaikenlaisia valikoita ym...

Päärynämies [22.02.2008 21:57:16]

#

Nopsan googletuksen(hauksi: gtk pascal) perusteella näyttäisi, että ainakin gtk:stä on jonkinlainen pascal-versio olemassa.

Metabolix [22.02.2008 22:01:03]

#

FreePascalia varten on olemassa Lazarus, jonka pitäisi muistuttaa jokseenkin Delphin kirjastoa. Ehdottomasti harkitsemisen arvoinen valinta on myös GTK, joka toimii monella alustalla. GTK:n FreePascal-versio tulee käsittääkseni kääntäjän mukana (ainakin Ubuntussa paketti fp-units-gtk(2)), lisätietoa löytyy FreePascalin sivuilta.

Tällaisen lyhykäisen GTK2-ohjelman sain toimimaan:

program GTK_testi;

uses
  GTK2, GDK2, GLIB2;

var
  Window: PGtkWidget;

function delete_event(Widget: PGtkWidget; Event: PGdkEvent; data: Pointer): GINT; cdecl;
begin
  delete_event := 0;
end;

procedure destroy(Widget: PGtkWidget; data: Pointer);
begin
  gtk_main_quit();
end;

begin
  gtk_init(@argc, @argv);
  Window := gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_signal_connect (GTK_OBJECT(window), 'delete_event', GTK_SIGNAL_FUNC(@delete_event), nil);
  gtk_signal_connect (GTK_OBJECT(window), 'destroy', GTK_SIGNAL_FUNC(@destroy), nil);
  gtk_widget_show(Window);
  gtk_main();
end.

Triton [23.02.2008 17:27:47]

#

Kun meille koulussa opetetaan Pascalia ja ohjelmana on Borlandin Turbo Pascal 5.0, niin siinä on sisällä se joku BGI -grafiikka unitti, niin löytyykö tota BGI:tä FreePascalille? Ja jos joku tietää mistä ton TP 5.0 -saisi ladattua, niin voisi ilmoittaa...

Metabolix [23.02.2008 17:49:48]

#

Et malttanut itse kirjoittaa Googleen?
http://dn.codegear.com/article/20803

Viestistäsi käsitti, että olisit jotain nykyaikaisempaa kaivannut kuin vain DOS-grafiikkaa.

Triton [23.02.2008 17:53:49]

#

Itseasiassa olen kyllä ton ladannukin koneelle, mutta asennus ei ole sujunut kovinkaan hyvin... Ja olen etsinyt toimivaa asennus ohjelmaa ympäri nettiä. Periaatteessa mua kiinostaakin uudempi grafiikka, mutta kun koulussa käytetään tota BGI:tä, niin tarvis harjotella kotonakin...

User137 [23.02.2008 19:35:33]

#

Tuolla on Lazarus, vissiin 52 megan paketti jossa on freepascal sisällä myös:
http://sourceforge.net/project/showfiles.php?group_id=89339

Valmis asennusohjelma ja pitäisi olla käyttövalmis heti. On se ainakin itsellä toiminut, pieniä yksityiskohtia vaan joiden takia käytän Delphi 7:aa edelleen.

Markus [25.02.2008 17:08:56]

#

User137 kirjoitti:

pieniä yksityiskohtia vaan joiden takia käytän Delphi 7:aa edelleen.

Tuossahan sinulla on loistava tilaisuus osallistua avoimen lähdekoodin projektin kehitykseen: Korjaa nuo yksityiskohdat!

Ennen työhön ryhtymistä kannattaa ladata projektin uusin versio cvs:stä koska siinä voi olla jo jotain julkaisemattomia korjauksia.

User137 [26.02.2008 05:18:33]

#

Ne pikkuseikat ei ole sen luontoisia että pystyn vaikuttamaan...
1) Kääntää exe:ksi valmiin tyhjän formin ja exe koko on n. yli 10mt. Tuosta on kirjoitettu paljonkin ja varmasti kaikki ovat tietoisia. Ei ole optimoinnit päällä jne, ja niiden kanssakaan ei yllä delphin pienuuteen.
2) 3D-moottorini käyttämät kaikki tekstuureihin liittyvät luokat olivat puutteellisia tai niitä ei edes ollut. PNG pakkaukseen jne syvempi perehtyminen ei ole ihan niitä hommia joita viitsii alkaa. Oli freepascalissa varmasti vaihtoehtoisiakin kirjastoja mutta paljon saisi etsiskellä googlella kun manuaalit ja kaikki on vähissä.
3) Ohjelmissa käytettyjen kirjastojen polut olivat projektikohtaisia joten ne joutui aina uudelleen lisäämään, ellei laita kaikkea jonnekin lazaruksen hakemistoviidakkoon :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta