Autor Beitrag
XCoder
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36

Win XP
D7 Prof
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: So 22.06.03 18:19 
Was verstehst du unter API's? Wie kommst du auf die Zahl 900 ?

_________________
Ist Zeit wirklich Geld?
XCoder Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 36

Win XP
D7 Prof
BeitragVerfasst: 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 :D
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: 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:
ausblenden 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



BeitragVerfasst: Mo 23.06.03 08:00 
Und gleich reingefallen. Als erster Parameter fehlt der Fensterhandle. :wink:
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: 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. :roll:

_________________
Ist Zeit wirklich Geld?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 23.06.03 09:05 
Um die Uhrzeit pflege ich meinen besten Code zu produzieren. :roll:
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: 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



BeitragVerfasst: Mo 23.06.03 14:47 
Und bei Delphi ist es auch ein DLL-Zugriff. :roll: Nur brauchen bei Delphi die meisten Funktionen nicht erst dynamisch importiert und deklariert werden.
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Mo 23.06.03 15:56 
Hier ein kleines Beispiel wie man mit ShellExecute bei Delphi und bei VB umgeht:

Bei Delphi

ausblenden 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

ausblenden 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