Übersetzung aus C++

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
E-P-S
Beiträge: 134
Registriert: 30.03.2007 09:39
Kontaktdaten:

Übersetzung aus C++

Beitrag von E-P-S »

Hallo, kann mir ein C++ Kenner mal helfen dies hier nach PB zu übersetzen?

Code: Alles auswählen

BBDECL HRESULT BBCALL SomeFunction(unsigned int buffer, unsigned int srcFrame)
{
  HRESULT hr;
  if(buffer==0) return 1;
  buffer = (unsigned int) *((int*)(buffer+4));
  buffer = (unsigned int) *((int*)(buffer+(4 * srcFrame)));

  IDirectDrawSurface7 *srcSurf = NULL;
  srcSurf = (IDirectDrawSurface7*) *((int*)(buffer+12));
Vielen, herzlichen Dank
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Code: Alles auswählen

Procedure SomeFunction(buffer,srcFrame)
	If buffer = 0 : ProcedureReturn 1 : EndIf
	
	buffer = buffer + 4
	buffer = buffer + (4 * srcFrame)
	
	*srcSurf.IDirectDrawSurface7 = #Null
	*srcSurf = buffer + 12
EndProcedure
Gekürzt:

Code: Alles auswählen

Procedure SomeFunction(buffer,srcFrame)
	If buffer = 0 : ProcedureReturn 1 : EndIf	
	buffer + 4
	buffer + (4 * srcFrame)	
	*srcSurf.IDirectDrawSurface7 = buffer + 12
EndProcedure
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
E-P-S
Beiträge: 134
Registriert: 30.03.2007 09:39
Kontaktdaten:

Beitrag von E-P-S »

da fragt man sich doch wozu die in C++ so viele Klammern brauchen....

ich bedanke mich heftigst.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

E-P-S hat geschrieben:da fragt man sich doch wozu die in C++ so viele Klammern brauchen....
Weiß ich auch nicht aber viele der Klammern sind für die Typendeklaration. Also (unsigned int), (int*), (IDirectDrawSurface7*) usw. Fast alles hat seinen eigen Variablentyp wie bspw. für Fenster HWND. Soll wohl der Fehlervermeidung dienen aber ist in meinen Augen völlig überflüssig. Denn in der Realität gibt es nur einen überschaubaren Grundsatz an Variablentypen wie Byte, Word, Long, Quad, Float, etc.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Nee das hat schon seinen Sinn. Vielleicht nicht bei kleinen Projekten, aber wenn irgendwann 20 Leute an einem 50.000+ Zeilenprojekt arbeiten, dann ist sowas nicht mehr überflüssig.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

.... läßt sich ja in PB durchaus auch realisieren...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Was nun, Typsicherheit oder große Projekte?
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

ZeHa hat geschrieben:Nee das hat schon seinen Sinn.
"hat schon seinen Sinn" ist kein Argument ...
ZeHa hat geschrieben:Vielleicht nicht bei kleinen Projekten, aber wenn irgendwann 20 Leute an einem 50.000+ Zeilenprojekt arbeiten, dann ist sowas nicht mehr überflüssig.
Sprichst aus Erfahrung wa'? <)

Im Ernst, die Größe des Projektes hat damit absolut gar nichts zu tun. Ich habe schon Projekte gehabt die an die 10000+ Zeilen gingen wie bspw. ein Grafikprogramm. Nie hätte ich gesehen wo dieser "Typen-Wirrwarr" von Nutzen gewesen wäre. Wie ich sagte, in meinen Augen ist das wieder so ein "Feature" das niemand braucht. Denn es gibt real nunmal nur eine geringe Menge an Basistypen. Genau wie es schon immer in PB war. Und es wurden in all den Jahren auch sicher große Projekte geschrieben und auch bestimmt mit mehr als mit einer Person. Vermisst irgendjemand dieses Feature? Nein. Hat es uns geschadet oder unsere Produktivität eingeschränkt? Ebenfalls nein.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

ZeHa hat geschrieben:Was nun, Typsicherheit oder große Projekte?
Beides :mrgreen:

Code: Alles auswählen

Macro hWnd
  i
EndMacro

Define.hWnd bla

bla = GetForegroundWindow_()
Debug bla
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich meine beschreibende Typen...

aber ob man die wirklich braucht, ist jedem Team selber überlassen.
beschreibende Variablennamen sind auch hilfreich.
wenn ich hWnd.i schreibe, weiß auch jeder, dass es ein Window-Handle ist.

bei bla.hWnd sieht man das später im kot nicht mehr.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten