cbFUN lisäkirjasto CoolBasicille

Oletko tehnyt jotain, mistä muut voisivat hyötyä. Postita vinkit tänne.
Post Reply
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

cbFUN lisäkirjasto CoolBasicille

Post by KilledWhale »

Heipä hei.

Noin viikko sitten eksyin taas lukemaan Marcoderin oppaan DLL:n teosta, jolloin mieleeni muistui, että Henkru oli kysellyt irkissä DLL:ää jonka avulla voisi piilottaa CoolBasic-ohjelman ikkunan. Pienen värkkäilyn jälkeen DLL olikin valmis, mutta mietin, että nyt kun kerran pääsin tekemisen makuun miksi jättää työ tähän. Siitä se idea sitten lähti. Aloin kasvattamaan DLL:n funktio kokoelmaa ja jakelin välillä uutta versiota irkissä. DLL otettiin innostuneesti vastaan, joten teko jatkui. Jossain vaiheessa Henkru liittyi mukaan kehitykseen ja funktioläjä kasvoi entisestään.

cbFUN on siis lisäkirjasto, jonka funktiokokoelma on painottunut järjestelmän manipuloimiseen, mutta joista voi olla hyötyä projekteissa, joissa esim. tarvitsee avata cd-asema. Tällä hetkellä kirjasto sisältää seuraavat funktiot:

Code: Select all

ShowWindow() //näyttää tai piilottaa ikkunan
FlashWindow()//välkyttää ikkunan otsikkopalkkia
MoveWindow()//vaihtaa ikkunan sijaintia sekä kokoa
SetWindowAlpha()//asettaa ikkunan läpinäkyvyyden
SwitchWindow()//asettaa ikkunan päälimmäiseksi
DestroyWindow()//sulkee ikkunan
CreateRoundWindow()//muuttaa ikkunan pyöreäksi
CreateRectRoundWindow()//pyöristää ikkunan kulmia
HideMenu()//piilottaa ikkunan sulkemispainikkeen
OpenCDTray()//avaa tai sulkee cd aseman
ScreenW()//palauttaa KOKO näytön leveyden
ScreenH()//palauttaa KOKO näytön korkeuden
Beep()//soittaa koneen piipperiä
MsgBox()//tuo näytölle viesti-ikkunan
HideWindowsTaskBar()//piilottaa tai näyttää tehtäväpalkin
SetTaskBarAlpha()//asettaa tehtäväpalkin läpinäkyvyyden
SetCursorPos()//asettaa hiiren sijainnin ruudulle
_PutPixel()//piirtää pikselin näytölle
BlockInput()//poistaa hiiren ja näppäimistön käytöstä
HideDesktopIcons()// piilottaa työpyödän kuvakkeet
ShowCursor()//näyttää tai piilottaa hiiren
LockWorkStation()//lukitsee tietokoneen
TextOut()//kirjoittaa tekstiä näytölle
MouseEvent()//simuloi hiiren klikkauksia
_MouseX()//kertoo hiiren X-koordinaatin koko näytöllä
_MouseY()//kertoo hiiren Y-koordinaatin koko näytöllä
SwapMouseButton()//vaihtaa hiirten hiiren painikkeiden paikkaa
SetLockLed()//sytyttää tai sammuttaa CapsLock, NumLock ja ScrollLock valon 
GetAscKey()//Kertoo onko tietty näppäin pohjassa
TypeStr()//Kertoo onko tietty näppäin pohjassa
_GetPixel()//Poimii pikseliarvon ruudulta
SetWindowText()//Vaihtaa halutun ikkunan otsikon
GetEnv()//Hakee ympäristömuuttujan arvon
Kiitokset vielä ihmisille, joilta on tullut irkissä palautetta ja kehitysideoita, sekä Marcoderille, jonka ParamBufferin ansiosta tämän toteuttaminen oli huomattavasti helpompaa.

Lataa:
Jos sinulla on asennettu CoolBasic SDK niin lataa tämä paketti http://koti.mbnet.fi/henkruz/cbFUN/cbFU ... alled).rar

Jos CoolBasic SDK ei ole asennettettunu, lataa tämä paketti http://koti.mbnet.fi/henkruz/cbFUN/cbFUN.rar

Asennus:
Pura lataamasi paketti CB:n asennus hakemistoon jolloin muokatut tiedostot menevät oikeisiin paikkoihin.
Jos CB:n manuaaliin on lisääntynyt CBfun linkki, asennus on onnistunut.

Lopuksi:
Muistakaa, että kirjastoa voi käyttää muuhunkin kuin pilaohjelmien tekoon.
Ideoita uusille funktioille, sekä bugiraportteja voi lähetellä yksityisviestillä minulle tai Henkrulle.
Last edited by KilledWhale on Tue Dec 18, 2007 6:05 pm, edited 1 time in total.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
Harakka
Advanced Member
Posts: 430
Joined: Mon Aug 27, 2007 9:08 pm
Location: Salo
Contact:

Re: cbFUN lisäkirjasto CoolBasicille

Post by Harakka »

Whoah! Vaikuttaa mahtavalta. Kiitos.
EDIT: Helppokäyttöinen caps lock yms valojen animointiohjelma:

Code: Select all

SCREEN 50,50
Include "C:\Program Files\CoolBasic\cbFUN\cbFUN.cb"
Const framecount = 6
Dim ledframe(framecount) As String
ledframe(0) = "000"
ledframe(1) = "100"
ledframe(2) = "110"
ledframe(3) = "111"
ledframe(4) = "011"
ledframe(5) = "001"
ledframe(6) = "000"
Repeat
    frame + 1
    If frame > framecount Then frame = 0
    For i = 1 To 3
        SetLockLed(i, Mid(ledFrame(frame),i,1))
    Next i
    Wait 100
Forever
Ykkönen tarkoittaa, että valo palaa.
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: cbFUN lisäkirjasto CoolBasicille

Post by Henkru »

Juu elikä tämmöinen tuli KilledWHalen:n kanssa väsättyä.

Uppasin tuon manuaalin vielä nettiin. cbFUN - Manuaali
Thomazu
Active Member
Posts: 179
Joined: Tue Aug 28, 2007 7:28 am

Re: cbFUN lisäkirjasto CoolBasicille

Post by Thomazu »

Jos tuon näppäimistön valojen vilkuttamisen juttu piti toimia pelkästään tuosta Copy Pastea käyttäen niin ainakaan mulla ei toiminu.
Image
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbFUN lisäkirjasto CoolBasicille

Post by KilledWhale »

Purithan paketin CoolBasicin kansioon?
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: cbFUN lisäkirjasto CoolBasicille

Post by Henkru »

Kyllä toi yllä oleva koodi toimii ainakin minulla suoraan copy/paste:na. Vika voisi kyllä olla niikuin KilledWhale sanoi että olet purkanu paketin väärin tai sitten sinulla on CoolBasic asennettu toiseen kansioon kuin "C:\Program Files\CoolBasic\". Tuliko jotakin erroria? Tetaa toimiiko joku manuaalin esimerkki koodeista, jos CBFUN manuaalia ei löydy siitä CB:n omasta manuaalista niin paketti on väärin purettu.
Zrazy_Coder
Member
Posts: 60
Joined: Sun Sep 09, 2007 8:46 pm

Re: cbFUN lisäkirjasto CoolBasicille

Post by Zrazy_Coder »

Tosi hywä !Varsinkin se textout koneeni kyllä meni iha sekasin oli pakko resstarttaa, mut ihan hyvä pilaks :twisted:
Tälläsii oon tarvinnu jo kauan, mut ei oo näkyny
:ugeek:
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbFUN lisäkirjasto CoolBasicille

Post by KilledWhale »

Jos jotain kiinnostaa voin upata myös c++ sorsat.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
Thomazu
Active Member
Posts: 179
Joined: Tue Aug 28, 2007 7:28 am

Re: cbFUN lisäkirjasto CoolBasicille

Post by Thomazu »

Kyllä toi yllä oleva koodi toimii ainakin minulla suoraan copy/paste:na. Vika voisi kyllä olla niikuin KilledWhale sanoi että olet purkanu paketin väärin tai sitten sinulla on CoolBasic asennettu toiseen kansioon kuin "C:\Program Files\CoolBasic\". Tuliko jotakin erroria? Tetaa toimiiko joku manuaalin esimerkki koodeista, jos CBFUN manuaalia ei löydy siitä CB:n omasta manuaalista niin paketti on väärin purettu.
Katos niin toimiikin :) pistin vahingossa Coolbasicin kansiossa olevaan SDK kansioon :oops: mahtava juttu että tämmäisiäkin on kesitty tehdä :)
Image
Henkru
Advanced Member
Posts: 359
Joined: Sun Aug 26, 2007 2:46 pm

Re: cbFUN lisäkirjasto CoolBasicille

Post by Henkru »

Hyvä, että porukak tykkää. :) Muistutan tässä että muistakaa laittaa se cbFUN.dll sinne exe:n mukaan jos esim lähettätte jollekkin. cbFUN.dll löytyy <cb asennushakemisto>\cbFUN. Eiköhän joskus nähä nykyisellä CB versiolla jonkin näköistä 3D:tä siis ihan renderöityjä kuvia ei mitään rautalankamalleja.
Thomazu
Active Member
Posts: 179
Joined: Tue Aug 28, 2007 7:28 am

Re: cbFUN lisäkirjasto CoolBasicille

Post by Thomazu »

Juu :) CB:n on nyt tullut kyllä kaiken näköistä uutta ja hienoa, hienoa kehitystä ;)

Unohdin tietenkin tuosta edellisestä viestistäni sen että voit ainakin minulle lähettää tuon C++ version?
Image
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbFUN lisäkirjasto CoolBasicille

Post by KilledWhale »

Tässä tulisi tämä sorsa.
Attachments
cbFUN.rar
cbFUN c++ source
(26.18 KiB) Downloaded 845 times
Last edited by KilledWhale on Mon Nov 12, 2007 8:24 pm, edited 1 time in total.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
User avatar
Ilmuri
Developer
Developer
Posts: 277
Joined: Sun Aug 26, 2007 2:46 pm
Location: \o

Re: cbFUN lisäkirjasto CoolBasicille

Post by Ilmuri »

ParamBuffer.cpp ei näytä sattuneen mukaan.
CoolBasic henkilökuntaa
Kehittäjä
CoolBasic Classic
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbFUN lisäkirjasto CoolBasicille

Post by KilledWhale »

Lisäsin sen tuonne mukaan ja päivitin liitteen.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: cbFUN lisäkirjasto CoolBasicille

Post by MaGetzUb »

Hmmm... todella mielen kiintoinen... Onko sellaista funkkaria tuolla jolla sais ruudun reunat pois on/off tyylillä? Jos on olisin todella kiitollinen... :D
Offtopick: edittaan sitte jos löydän sen :D, ja kiitän tietysti :D
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
jannepelaa
Active Member
Posts: 101
Joined: Tue Aug 28, 2007 2:27 pm

Re: cbFUN lisäkirjasto CoolBasicille

Post by jannepelaa »

Aloitin kanssa tekemään tälläistä, mutta kokeet painoivat ja ehdit edelle. Hyvää työtä kumminkin! :D
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbFUN lisäkirjasto CoolBasicille

Post by KilledWhale »

programmer of DSG wrote:Hmmm... todella mielen kiintoinen... Onko sellaista funkkaria tuolla jolla sais ruudun reunat pois on/off tyylillä? Jos on olisin todella kiitollinen... :D
Offtopick: edittaan sitte jos löydän sen :D, ja kiitän tietysti :D
On/off tyylillä olevaa ei ole, mutta creterectroundwindow:lla saa jotenkin. Arvoja muuttamalla saat säädettyä mikä osa piirretään, kuten tässä aloitetaan 3px kohdalta jonka tienoilta ikkunan sisältö alkaa.

Code: Select all

Include "cbFUN\cbFUN.cb"
SCREEN 400, 400
SetWindow "cb"


    CreateRectRoundWindow("cb", 3, 0, 403, 398, 0, 0)

WaitKey 
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
jannepelaa
Active Member
Posts: 101
Joined: Tue Aug 28, 2007 2:27 pm

Re: cbFUN lisäkirjasto CoolBasicille

Post by jannepelaa »

KilledWhale wrote:
programmer of DSG wrote:Hmmm... todella mielen kiintoinen... Onko sellaista funkkaria tuolla jolla sais ruudun reunat pois on/off tyylillä? Jos on olisin todella kiitollinen... :D
Offtopick: edittaan sitte jos löydän sen :D, ja kiitän tietysti :D
On/off tyylillä olevaa ei ole, mutta creterectroundwindow:lla saa jotenkin. Arvoja muuttamalla saat säädettyä mikä osa piirretään, kuten tässä aloitetaan 3px kohdalta jonka tienoilta ikkunan sisältö alkaa.

Code: Select all

blaah 
Ajettaessa tuota Vistalla ikkunan tyyli muuttuu vanhanlaiseksi. Eivätkä ihan kaikki muutkaan oikein toimineet, mutta hupiahan tämä vain on! :D
KilledWhale
Tech Developer
Tech Developer
Posts: 545
Joined: Sun Aug 26, 2007 2:43 pm
Location: Liminka

Re: cbFUN lisäkirjasto CoolBasicille

Post by KilledWhale »

Samoin käy xp.tä käyttäessä, kun käyttää createroundwindow() tai createrectroundwindow() funktioita.
CoolBasic henkilökuntaa
Kehittäjä

cbFUN Kello
cbSDL
Whale.dy.fi

<@cce> miltäs tuntuu olla suomen paras
iTKEVAnAKKI
Advanced Member
Posts: 335
Joined: Tue Aug 28, 2007 3:55 pm
Location: Siellä jossain

Re: cbFUN lisäkirjasto CoolBasicille

Post by iTKEVAnAKKI »

Tää on kyllä hieno! :D Mut toivottavasti kukaan ei rupea nyt tekemään "oikeita" viruksia :D niinkuin ite tein äsken, mutta lupaan ettei kukaan tule saamaan sitä koneelleen.

Se "virus" täytti kiintolevyn :D enkä ainakaan ite saannut suljettua mitenkään...
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee ;)
Post Reply