29/03/2010

Tocar musica com RealBasic.

Esta quase nem tem graça. é muito fácil!

Dim s as Sound // instância do objeto

s = GetOpenFolderItem("").OpenAsSound //Abre o arquivo de som

if s = Nil Then Return //Encerra se não houver arquivo

s.Play // Toca a musica

Moleza não é ? Bom, mesmo assim vou falar algo a respeito.
A classe Sound apesar de reduzida tem algumas propriedades interessantes, como por exemplo o Pan, onde você pode regular o balanço do stério, o Volume que varia de 0 a 100, o PlayLooping que permite repetir continuamente um som, e sem esquecer do Stop que para o som imediatamente

Com o Stop, eu consegui fazer um telegrafo usando um único beep continuo, apenas variando o tempo de duração que eu queria para cada beep.

Com a propriedade IsPlaying, é possível saber se o som ainda esta tocando, assim um playlist ficará bem simples de ser feita (Quando terminar uma, coloque a próxima da lista).

E isso é tudo p p soal :)

14/03/2010

Componentes dinâmicos

Como adicionar dinamicamente componente em uma janela do RealBasic ?

É comum nos depararmos com a necessidade de adicionarmos campos de texto, botões ou outro componente de tela enquanto o programa está funcionando. Imagine fazer um calendário aonde cada um dos 31 dias seja um botão para selecionar o dia? É muito chato e demorado ter que colocar um por um e ainda levando em conta que eles mudam de lugar a cada mês.

É muito fácil se fazer isso no RealBasic. Só lembrando que o resultado é um Array de controles.

Insira o objeto desejado na tela, Nas propriedades, altere o Index para 0.

Declare uma Variável com o tipo do objeto em questão, em seguida atribua o valor a ela como sendo seu novo objeto.

Dim pb As PushButton
pb = New PushButton1

Em seguida é só alterar as propriedades que desejar e pronto, já temos dois botões na tela.

E para remover o objeto, basta acessar o método close:

PushButton1(n).Close

Para estender o uso sem muito trabalho podemos usar um conjunto de For ... next e criar quantos botões forem

necessário

Exemplo:

Seguindo os passos a cima, coloque um botão em uma janela e defina a sua altura e largura pra 22, e seu caption para 0. No evento Open da janela digite:

Dim x,y,n,c,l,t As integer 'Declarar das variaveis
Dim pb As PushButton 'Declarar objeto
l = PushButton1(0).Left 'Obter posição
t = PushButton1(0).Top
n = 1 'iniciar coluna em 1
for y = 0 to 5 'contar 6 linhas
for x = n to 4 'contar 5 colulas
pb = New PushButton1 'criar novo botão
pb.Left = x * 22 + l 'Posicionar botão
pb.Top = y * 22 + t
c=c+1 'Numero para exibir
pb.Caption = str(c) 'Exibir Numero
next
n=0 'zerar coluna
next
O resultado será similar a este: