PureDispHelper Userlib - Update Include für Unicode Support

Anwendungen, Tools, Userlibs und anderes nützliches.
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

PureDispHelper Userlib - Update Include für Unicode Support

Beitrag von ts-soft »

PureDispHelper is based on DispHelper, a free open source C library
developed by xtmous http://disphelper.sourceforge.net

Diese Userlib unterstützt leider kein Unicode

Mit dieser Library kann man COM, ActiveX sowie OCX nutzen, ohne Interface!

Hilfe nur in Englisch

Folgende Beispiele sind bei:
ado, flash, ie, mediaplayer, msxml, network, sapi, vbs und word

Besonderen dank an Kiffi, der div. Beispiele beigesteuert hat, sowie als Beta-Tester fungierte!

PureDisphelper v.1.5

// edit
update zu PB 4.20
Zuletzt geändert von ts-soft am 29.03.2008 22:48, insgesamt 5-mal geändert.
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
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Wie schon einige im englischen Board erwähnten:
Super Lib!
Und mit in PB integriert werden.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
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 »

Wäre schön wenn das PB-TEAM das einbauen würde, so könnte man die
Einschränkungn (kein Unicode sowie beschränkte Anzahl opt. Parameter)
vielleicht ausmerzen :)

Ist leider OS-Spezifisch, sowas kommt nicht immer auf die ToDo Liste
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
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 »

Weiteres Beispiel hinzugefügt!

Den MS-Agenten, für die Jüngeren hier :mrgreen:

Code: Alles auswählen

dhToggleExceptions(#True)

Define.l oAgent, oGenie

oAgent = dhCreateObject("Agent.Control.1")

If oAgent
  dhPutValue(oAgent, "Connected = %b", #True)
  dhCallMethod(oAgent, "Characters.Load(%s)", @"Genie")
  dhGetValue("%o", @oGenie, oAgent, "Characters(%s)", @"Genie")
  If oGenie
    dhCallMethod(oGenie, "Show")
    dhCallMethod(oGenie, "MoveTo(%d,%d)", 300, 200)
    dhCallMethod(oGenie, "Play(%s)", @"Greet")
    dhCallMethod(oGenie, "Speak(%s)", @"Hello, feel the ..Pure.. Power of PureBasic")
    dhCallMethod(oGenie, "Play(%s)", @"Reading")
    Delay(20000)
    dhCallMethod(oGenie, "Stop")
    dhCallMethod(oGenie, "Speak(%s)", @"PureBasic is a nice computer language")
    MessageRequester("Agent", "click ok to end")
    dhCallMethod(oGenie, "Play(%s)", @"Hide")
    Delay(3000)
    dhReleaseObject(oGenie)
  EndIf
  dhReleaseObject(oAgent)
EndIf
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
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

ts-soft hat geschrieben:Den MS-Agenten, für die Jüngeren hier :mrgreen:
Juhu! Dann habe ich ja heute abend frei! :D
a²+b²=mc²
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 »

Hier noch einen Merlin :D

Code: Alles auswählen

; example by ts-soft

EnableExplicit

dhToggleExceptions(#True)

Define.l oAgent, oMerlin
Define.s item

oAgent = dhCreateObject("Agent.Control.2")

If oAgent = 0
  Debug "error: can't create object"
  End
EndIf

dhPutValue(oAgent, "Connected = %b", #True)
dhCallMethod(oAgent, "Characters.Load(%s,%s)", @"Merlin", @"Merlin.acs")
dhGetValue("%o", @oMerlin, oAgent, "Characters(%s)", @"Merlin")

If oMerlin = 0
  Debug "error: can't create object"
  End
EndIf

dhCallMethod(oMerlin, "Show")

If OpenWindow(0, 0, 0, 200, 200, "Merlin - Demo", #PB_Window_ScreenCentered|#PB_Window_SystemMenu) And CreateGadgetList(WindowID(0))
 
  ListViewGadget(0, 5, 5, 190, 165)
  ButtonGadget(1, 70, 177, 60, 20, "Play")
 
  Restore Merlin
 
  Repeat
    Read item
    If item <> ""
      AddGadgetItem(0, #PB_Any, item)
    EndIf
  Until item = ""
 
  dhCallMethod(oMerlin, "MoveTo(%d,%d)", WindowX(0) + 40, WindowY(0) - 120)
  dhCallMethod(oMerlin, "Play(%s)", @"GetAttention")
  dhCallMethod(oMerlin, "Play(%s)", @"GetAttentionContinued")
  dhCallMethod(oMerlin, "Speak(%s)", @"Can I do something for you?")
  dhCallMethod(oMerlin, "Play(%s)", @"GetAttentionReturn")
  SetGadgetState(0, 0)
   
  Repeat
 
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        CloseWindow(0)
        dhCallMethod(oMerlin, "Stop")
        dhCallMethod(oMerlin, "Play(%s)", @"Hide")
        Delay(3000)
        Break
   
      Case #PB_Event_MoveWindow
        dhCallMethod(oMerlin, "MoveTo(%d,%d)", WindowX(0) + 40, WindowY(0) - 120)
         
      Case #PB_Event_Gadget
     
        Select EventGadget()
          Case 1
            item = GetGadgetText(0)
            If Item = "Speak"
              Item = InputRequester("Merlin", "What should i say?", "")
              If Item <> ""
                dhCallMethod(oMerlin, "Speak(%s)", @Item)
              EndIf
            Else
              dhCallMethod(oMerlin, "Stop")
              dhCallMethod(oMerlin, "Play(%s)", @item)
            EndIf
        EndSelect
    EndSelect
   
  ForEver
EndIf

dhReleaseObject(oMerlin)
dhReleaseObject(oAgent)

DataSection
  Merlin:
  Data.s "Acknowledge", "Alert", "Announce", "Blink", "Confused", "Congratulate"
  Data.s "Congratulate_2", "Decline", "DoMagic1", "DoMagic2", "DontRecognize"
  Data.s "Explain", "GestureDown", "GestureLeft", "GestureRight", "GestureUp"
  Data.s "GetAttention", "GetAttentionContinued", "GetAttentionReturn", "Greet"
  Data.s "Hearing_1", "Hearing_2", "Hearing_3", "Hearing_4", "Hide", "Idle1_1"
  Data.s "Idle1_2", "Idle1_3", "Idle1_4", "Idle2_1", "Idle2_2", "Idle3_1", "Idle3_2"
  Data.s "LookDown", "LookDownBlink", "LookDownReturn", "LookLeft", "LookLeftBlink"
  Data.s "LookLeftReturn", "LookRight", "LookRightBlink", "LookRightReturn"
  Data.s "LookUp", "LookUpBlink", "LookUpReturn", "MoveDown", "MoveLeft", "MoveRight"
  Data.s "MoveUp", "Pleased", "Process", "Processing", "Read", "ReadContinued"
  Data.s "Reading", "ReadReturn", "Sad", "Search", "Searching", "Show", "Speak"
  Data.s "StartListening", "StopListening", "Suggest", "Surprised", "Think", "Thinking"
  Data.s "Uncertain", "Wave", "Write", "WriteContinued", "WriteReturn", "Writing"
  Data.s ""
EndDataSection
Bild
Zuletzt geändert von ts-soft am 21.04.2007 12:36, insgesamt 1-mal geändert.
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
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

Beitrag von Leonhard »

Ich konnte die Lib bis jetzt nicht testen. Sieht aber super aus.
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Wow. Das is ja mal cool. :allright:

Kann man auch die anderen Viecher außer Merlin anzeigen? (Den Hund und was es da sonst noch so gibt)
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 »

TomS hat geschrieben: Kann man auch die anderen Viecher außer Merlin anzeigen? (Den Hund und was es da sonst noch so gibt)
Durchsuche mal Deine Festplatte nach *.acs, es kommt immer drauf an,
welche Charactere auf Deinem PC installiert sind. Merlin ist wohl seid
XP oder 2000 standard. Office installiert ja auch noch welche.

Bei MS kannste noch welche downloaden, bzw. gibt sogar ein SDK um die
Dinger selbst zu basteln :wink:
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
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 »

Update Version 1.1

Eine kleine Extra-Lib hinzugefügt, mit der man OCX-Gadgets erstellen kann.
Syntax:

Code: Alles auswählen

object = OCX_CreateGadget(Gadget.l, x.l, y.l, widht, height.l, ProgID.s)
Die Hilfe wurde nicht erweitert, aber die beigefügten Beispiele sollten
verständlich sein.

STrainbowBar.ocx in Aktion:
Bild
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
Antworten