Strukturen mit Zeiger?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Strukturen mit Zeiger?

Beitrag von Delle »

Hallo,

es existiert eine Struktur sowie Daten darin (hoffe mal es ist so korrekt):

Code: Alles auswählen

Structure Lame

  Config.l
  SampleRate.l
  Mode.b
  Bitrate.d
  Copyright.b
  CRC.b
  Original.b
  Private.b

EndStructure  

Dim Daten.Lame(8)
  
  Daten(0)\Config = BE_CONFIG_MP3
  Daten(0)\SampleRate = 44100
  Daten(0)\Mode = BE_MP3_MODE_STEREO
  Daten(0)\Bitrate = 128
  Daten(0)\Copyright = TRUE
  Daten(0)\CRC = FALSE
  Daten(0)\Original = FALSE
  Daten(0)\Private = FALSE
Vorher waren die Daten in einem Speicherbereich, der Pointer *mem:

CallFunction(0,"Function",*mem,@Samples,@BufferSize,@hbeStream)

Wie verweise ich nun anstatt *mem auf die Struktur? Mittels @Lame ?
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Ich hoffe dir ist klart dass diese sachen wie False Variablen und keine Konstanten sind. Anosten musst du #False schreiben. Dein Problem habe ich aber nicht richtig verstanden wäre nettt wenn du es nocheinmal fomulieren könntest. Dann kann ich auch bestimmt helfen :allright:
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Code: Alles auswählen

CallFunction(0,"Function",@Daten(0),@Samples,@BufferSize,@hbeStream)
Dabei ist @Daten(0) ein Zeiger auf das erste Element des Arrays "Daten",
mit @Daten(1) kannste dann auf das zweite Element gehen usw.
Aja, da du dem Array eine Strukture zugewiesen hast, brauchst du in
PB noch nicht mal das @-Zeichen verwenden. Es ginge also auch:

Code: Alles auswählen

CallFunction(0,"Function",Daten(0),@Samples,@BufferSize,@hbeStream)
(gilt für alle Variablen, denen du eine Strukture zugewiesen hast)

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten