| Autor |
Beitrag |
XCoder
      
Beiträge: 36
Win XP
D7 Prof
|
Verfasst: So 22.06.03 18:14
Hallo
also ich habe ne menge Api's 900 oder so aber ich habe echt keine ahnung wie ich auf die zugreif muss ich da auf ne dll zugreiffen oder stehen die mir einfach so zur verfügung.
Und wie ruf ich sie auf? Kann jemmand ein Beispiel zeigen?
|
|
AndyB
      
Beiträge: 1173
Erhaltene Danke: 14
RAD Studio XE2
|
Verfasst: So 22.06.03 18:19
Was verstehst du unter API's? Wie kommst du auf die Zahl 900 ?
_________________ Ist Zeit wirklich Geld?
|
|
XCoder 
      
Beiträge: 36
Win XP
D7 Prof
|
Verfasst: So 22.06.03 21:40
Hmm hab mir so ein programm runter geladen für VB dort stand 900 Api's sind aber nur beispiele für vb 
|
|
AndyB
      
Beiträge: 1173
Erhaltene Danke: 14
RAD Studio XE2
|
Verfasst: Mo 23.06.03 01:03
API kann alles mögliche sein. Jedes Programm / DLL dass eine Schnittstelle für Programmierer hat, hat eine API (Application Programming Interface). Die bekannteste API ist die WinAPI mit mehr als (ich glaube) 3000 API Funktionen, die zum größten Teil in Delphi ohne zusätzlichen Code (wie unter VB) benutzt werden können.
Ein Beispiel für eine WinAPI Funktion:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| program TestApp; uses Windows;
begin MessageBox('Hallo!', 'Mein Titel', MB_OK); end. |
_________________ Ist Zeit wirklich Geld?
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 23.06.03 08:00
Und gleich reingefallen. Als erster Parameter fehlt der Fensterhandle. 
|
|
AndyB
      
Beiträge: 1173
Erhaltene Danke: 14
RAD Studio XE2
|
Verfasst: Mo 23.06.03 09:03
| Luckie hat folgendes geschrieben: | | Und gleich reingefallen. |
Na dann schau mal auf die Uhrzeit, zu der ich das gepostet habe. Da kann man von mir doch nicht mehr verlagen 100% Copy&Paste Code zu produzieren. 
_________________ Ist Zeit wirklich Geld?
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 23.06.03 09:05
Um die Uhrzeit pflege ich meinen besten Code zu produzieren. 
|
|
Popov
      
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Mo 23.06.03 14:40
| XCoder hat folgendes geschrieben: | | also ich habe ne menge Api's 900 oder so aber ich habe echt keine ahnung wie ich auf die zugreif muss ich da auf ne dll zugreiffen oder stehen die mir einfach so zur verfügung. |
Hin und wieder ein Punkt oder Komma wäre nicht schlecht schon kann man Sätze besser lesen ansonsten ist der Sinn des Satzes schwer zu verstehen zumindest für mich wie es bei den anderen ist weiß ich nicht ich bin da zwar auch nicht perfekt drin aber das ist eine andere Geschichte also bitte in zukunft den satz selbst noch mal durchlesen und paar Kommas setzten ich sage immer lieber ein Komma falsch gesetzt als alles wegzulassen.
Ansonsten ist es eine typische VB'ler Frage. In VB kann man zwar auch auf die API zugreifen, aber das ist dann ein DLL Zugriff. Bei Delphi ist das etwas einfacher.
_________________ Popov
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 23.06.03 14:47
Und bei Delphi ist es auch ein DLL-Zugriff.  Nur brauchen bei Delphi die meisten Funktionen nicht erst dynamisch importiert und deklariert werden.
|
|
Popov
      
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Mo 23.06.03 15:05
API-Zugriff ist in jeder Programiersprache ein DLL-Zugriff. Darum ging es mir aber nicht. Solche Hinweise zeugen von Kenntnis, verwirren aber unnötig. Nach dem Hinweis "Und bei Delphi ist es auch ein DLL-Zugriff." ist XCoder wahrscheinlich wieder genauso schlau wie vorher.
Da du also für Verwirrung gesorgt und uns mit Infos vesorgt hast die ein Newbie nicht braucht (schon garnicht ein VB Umsteiger), solltest du Nägel mit Köpfen machen und einem VB'ler den feinen Unterschied erklären, was den VB API Zugriff von dem Delphi API Zugriff unterscheidet.
_________________ Popov
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 23.06.03 15:22
Wenn wir schon dabei sind:
Und warum hast du es ihm nicht gleich richtig gesagt:
| Zitat: |
Bei Delphi ist das etwas einfacher.
|
Ja und weiter? Warum hörst du mitten drin auf?
Desweiteren, was meinst du, wie oft ich schon gefragt wurde: "Wie programmiere ich denn mit der WinAPI?" Und wenn ich dann antworte: "Das machst du schon die ganze Zeit.", wie verwirrt die Leute waren. Deswegen gleich richtig erklären und nicht sagen, damit er es besser versteht, erklären wir es im einfacher, aber dafür nur halb richtig.
Also Delphi kapselt die WinAPI in der VCL, was bedeutet, dass du dich in den meisten Fällen nicht drum kümmern brauchst. Sollte aber doch mal ein direkter API-Aufruf nötig sein, ist das kein großese Problem, da die meisten Typen-Deklarationen usw. in, von Delphi mitgelieferten, Units drinstehen. Es ist also nicht nötig, wie bei VB, jede API von Hand aus der DLL zu laden.
|
|
Popov
      
Beiträge: 1655
Erhaltene Danke: 13
WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
|
Verfasst: Mo 23.06.03 15:56
Hier ein kleines Beispiel wie man mit ShellExecute bei Delphi und bei VB umgeht:
Bei Delphi
Quelltext 1: 2: 3: 4: 5: 6: 7:
| uses ..., ShellApi;
procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle, 'OPEN', 'http://www.yahoo.de', '', '', SW_NORMAL); end; |
Bei VB
Quelltext 1: 2: 3: 4: 5:
| Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Sub Command1_Click() Call ShellExecute(Me.hwnd, "OPEN", "http://www.yahoo.de", "", "", 1) End Sub |
_________________ Popov
|
|