/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
API eller GUI ?
Fra : Torben W. Hansen


Dato : 01-04-03 20:13

Hej alle,

Jeg har nogle spørgsmål i forbindelse med API og GUI, og som jeg har
forstået det, så er et GUI en overbygning på et API. For Windows vedkommende
er WIN API'et baseret på C, hvorimod GUI'er ofte byder på object orienterede
faciliteter i C++. Desuden skal der vist skrives mere kode i forbindelse med
API-programmering end hvis man anvender et GUI. (Korrigér mig, hvis
ovenstående er helt forkert).

Her er så mine spørgsmål:

1. Jeg er tvivl om man skal kaste sig ud i et GUI med det samme eller først
lære mere af WIN API'et - hvad mener I ?

2. Kan et og samme GUI anvendes til flere platforme (Windows, Linux, BSD
osv.) for at opnå portabilitet ?

3. Jeg har GTK+ installeret på kompileren fra Dev C++ 4.0 , men nogle gode
bud på GUI'er er meget velkomne.

4. Hvor finder man et lille GTK+ eksempel - f.eks. et vindue evt. med en
simpel menu-struktur ?

På forhånd tak...

Med venlig hilsen
Torben W. Hansen




 
 
Allan Weber (01-04-2003)
Kommentar
Fra : Allan Weber


Dato : 01-04-03 23:15

>
> 2. Kan et og samme GUI anvendes til flere platforme (Windows, Linux, BSD
> osv.) for at opnå portabilitet ?

QT fra Trolltech findes både til Windows, Mac OS X og Linux ved jeg. Se evt.
www.trolltech.com

/Weber

Robert Larsn (02-04-2003)
Kommentar
Fra : Robert Larsn


Dato : 02-04-03 01:45

> Her er så mine spørgsmål:
>
> 1. Jeg er tvivl om man skal kaste sig ud i et GUI med det samme eller først
> lære mere af WIN API'et - hvad mener I ?

Jeg ser ingen grund til ikke bare at springe ud i det.

> 2. Kan et og samme GUI anvendes til flere platforme (Windows, Linux, BSD
> osv.) for at opnå portabilitet ?

Der findes mange forskellige GUI libs. Den der er indbygget i Windows er
Windows specifik. Borlands overbygning er godt på vej til at være portet
til Linux, men der er mange som findes til flere platforme.

> 3. Jeg har GTK+ installeret på kompileren fra Dev C++ 4.0 , men nogle gode
> bud på GUI'er er meget velkomne.

GTK+ findes til en hel del platforme men er ikke det eneste portable:
WXWindows - http://www.wxwindows.org/
QT - http://www.trolltech.com/products/qt/index.html

....og der er sikkert mange andre. Jeg bruger selv GTK+/Gnome og synes at
det er meget ligetil så det kan jeg varmt anbefale


> 4. Hvor finder man et lille GTK+ eksempel - f.eks. et vindue evt. med en
> simpel menu-struktur ?

http://www.gtk.org/tutorial/


Held og lykke

Robert


Martin Schultz (02-04-2003)
Kommentar
Fra : Martin Schultz


Dato : 02-04-03 08:47

"Torben W. Hansen" <mail@ins-intersoft.com> writes:

> Hej alle,
>
> Jeg har nogle spørgsmål i forbindelse med API og GUI, og som jeg har
> forstået det, så er et GUI en overbygning på et API. For Windows vedkommende
> er WIN API'et baseret på C, hvorimod GUI'er ofte byder på object orienterede
> faciliteter i C++.

Ikke korrekt. GUI står for Graphical User Interface. Altså det er den
grafiske brugerflade i et program. Altså en del af et program. Det
har intet med måden at kode på.

API er Application Programming Interface. Fx. stiller windows
et API til rådighed så man kan refere til windows funktioner
fra sit program. Windows APIet er ganske rigtigt for det meste
nok skrevet i C men det er næsten fuldstændigt ligegyldigt
hvilket programmeringssprog man refere til det fra.

Martin

--
Besøg http://adsltips.crunzh.com for guider
til ADSL og opsætning af CISCO router.

Torben W. Hansen (02-04-2003)
Kommentar
Fra : Torben W. Hansen


Dato : 02-04-03 09:17

Hej igen,

-og tak for korrektionerne...

"Martin Schultz" <di020172@NO.SPAM.diku.dk> skrev i en meddelelse
news:rdn4r5hcpe3.fsf@brok.diku.dk...

> Ikke korrekt. GUI står for Graphical User Interface. Altså det er den
> grafiske brugerflade i et program. Altså en del af et program. Det
> har intet med måden at kode på.
Kalder man da ikke GUI-funktionernerne(der kan være lavet som OOP,
eksempelvis C++), der igen kalder API'et ?


> API er Application Programming Interface. Fx. stiller windows
> et API til rådighed så man kan refere til windows funktioner
> fra sit program. Windows APIet er ganske rigtigt for det meste
> nok skrevet i C men det er næsten fuldstændigt ligegyldigt
> hvilket programmeringssprog man refere til det fra.
Skal kaldene til (windows) API'et da ikke være IKKE_OOP, eksempelvis C ?

med venlig hilsen
Torben W. Hansen





Kent Friis (02-04-2003)
Kommentar
Fra : Kent Friis


Dato : 02-04-03 19:30

Den Wed, 2 Apr 2003 10:16:36 +0200 skrev Torben W. Hansen:
>Hej igen,
>
>-og tak for korrektionerne...
>
>"Martin Schultz" <di020172@NO.SPAM.diku.dk> skrev i en meddelelse
>news:rdn4r5hcpe3.fsf@brok.diku.dk...
>
>> Ikke korrekt. GUI står for Graphical User Interface. Altså det er den
>> grafiske brugerflade i et program. Altså en del af et program. Det
>> har intet med måden at kode på.
>Kalder man da ikke GUI-funktionernerne(der kan være lavet som OOP,
>eksempelvis C++), der igen kalder API'et ?

GUI er graphical user interface, altså *bruger*.
API er application programming interface, altså *programmering*.

Man laver en GUI i sit program ved hjælp af et API. Det kan være ren
win32 API, GTK API'et, MFC API'et eller en masse andre, der er beregnet
til grafiske brugergrænseflader.

Eller sagt på en anden måde, at starte notepad vha et API kunne fx se
sådan her ud:

dim p as new Process("C:\WINNT\NOTEPAD.EXE")
p.start()

Hvorimod at starte notepad vha en GUI kunne se således ud:

Start -> programmer -> tilbehør -> notesblok

Mvh
Kent
--
Indlæringskurven til Linux er stejl, til tider lodret... Men for katten
hvor er udsigten på toppen dog fantastisk
- Michael G. Vendelbo i dk.snak

Torben W. Hansen (02-04-2003)
Kommentar
Fra : Torben W. Hansen


Dato : 02-04-03 20:16

"Kent Friis" <leeloo@phreaker.net> skrev i en meddelelse
news:b6fa7r$csa$4@sunsite.dk...
> Den Wed, 2 Apr 2003 10:16:36 +0200 skrev Torben W. Hansen:

> Man laver en GUI i sit program ved hjælp af et API. Det kan være ren
> win32 API, GTK API'et, MFC API'et eller en masse andre, der er beregnet
> til grafiske brugergrænseflader.

OK nu er jeg med. Et eller andet sted fra har jeg fået opfattelsen af at
hjælpeværktøjerne GTK, MFC, WxWindows, QT osv.
blev kaldt for GUI'er i stedet for API'er, da de formodentlig alle kalder
platformens API (eksempelvis WIN API'et).

Mange tak for hjælpen allesammen... efter at have kikket på ovennævnte har
jeg foreløbig hentet WxWindows, som vistnok er fuldt ud C++ orienteret.

Med venlig hilsen
Torben W. hansen





Kent Friis (02-04-2003)
Kommentar
Fra : Kent Friis


Dato : 02-04-03 21:29

Den Wed, 2 Apr 2003 21:16:05 +0200 skrev Torben W. Hansen:
>"Kent Friis" <leeloo@phreaker.net> skrev i en meddelelse
>news:b6fa7r$csa$4@sunsite.dk...
>> Den Wed, 2 Apr 2003 10:16:36 +0200 skrev Torben W. Hansen:
>
>> Man laver en GUI i sit program ved hjælp af et API. Det kan være ren
>> win32 API, GTK API'et, MFC API'et eller en masse andre, der er beregnet
>> til grafiske brugergrænseflader.
>
>OK nu er jeg med. Et eller andet sted fra har jeg fået opfattelsen af at
>hjælpeværktøjerne GTK, MFC, WxWindows, QT osv.
>blev kaldt for GUI'er i stedet for API'er, da de formodentlig alle kalder
>platformens API (eksempelvis WIN API'et).

De bliver også kaldt GUI'er, fordi de definerer hvordan de enkelte
dele af programmets GUI kommer til at se ud (en knap er fikantet osv).

Mvh
Kent
--
You haven't seen _multitasking_ until you've seen Doom and
Quake run side by side

René Allan Larsen (02-04-2003)
Kommentar
Fra : René Allan Larsen


Dato : 02-04-03 10:55

In article <b6coei$b5q$1@news.cybercity.dk>, Torben W. Hansen wrote:
>
> Hej alle,
>
> Jeg har nogle spørgsmål i forbindelse med API og GUI, og som jeg har
> forstået det, så er et GUI en overbygning på et API. For Windows vedkommende
> er WIN API'et baseret på C, hvorimod GUI'er ofte byder på object orienterede
> faciliteter i C++. Desuden skal der vist skrives mere kode i forbindelse med
> API-programmering end hvis man anvender et GUI. (Korrigér mig, hvis
> ovenstående er helt forkert).

GUI betyder Graphical User Interface. Det er *kun* brugergrænsefladen.
API betyder (SVJH) Application Programming Interface.

Faktisk har et GUI også et API. Det er dog normalt simplere at bruge end ren
WinAPI, da det skjuler en masse detaljer.

(Jeg har en gang set et Delphi program lavet med rene WinAPI kald. Det så
hårrejsende ud, i forhold til, hvordan et program ser ud, når man laver det
normalt (men EXE-filen var /meget/ mindre med WinAPI kald)).

MVH, René


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste