Page 1 of 9

cbFUN lisäkirjasto CoolBasicille

Posted: Sun Nov 11, 2007 9:08 pm
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.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Sun Nov 11, 2007 9:27 pm
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.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Sun Nov 11, 2007 10:12 pm
by Henkru
Juu elikä tämmöinen tuli KilledWHalen:n kanssa väsättyä.

Uppasin tuon manuaalin vielä nettiin. cbFUN - Manuaali

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 4:35 pm
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.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 4:43 pm
by KilledWhale
Purithan paketin CoolBasicin kansioon?

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 5:24 pm
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.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 5:34 pm
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:

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 5:39 pm
by KilledWhale
Jos jotain kiinnostaa voin upata myös c++ sorsat.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 5:49 pm
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ä :)

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 6:02 pm
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.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 6:47 pm
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?

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 7:07 pm
by KilledWhale
Tässä tulisi tämä sorsa.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 8:15 pm
by Ilmuri
ParamBuffer.cpp ei näytä sattuneen mukaan.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Mon Nov 12, 2007 8:24 pm
by KilledWhale
Lisäsin sen tuonne mukaan ja päivitin liitteen.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Tue Nov 13, 2007 2:08 pm
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

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Tue Nov 13, 2007 2:40 pm
by jannepelaa
Aloitin kanssa tekemään tälläistä, mutta kokeet painoivat ja ehdit edelle. Hyvää työtä kumminkin! :D

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Tue Nov 13, 2007 4:44 pm
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 

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Tue Nov 13, 2007 5:59 pm
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

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Tue Nov 13, 2007 6:06 pm
by KilledWhale
Samoin käy xp.tä käyttäessä, kun käyttää createroundwindow() tai createrectroundwindow() funktioita.

Re: cbFUN lisäkirjasto CoolBasicille

Posted: Wed Nov 14, 2007 5:35 pm
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...