Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. de onde salta pra onde?? o q eu verifiquei de estranho no seu codigo é essa linha: printf("Turno: %c",tu); você printa a variavel tu sem ter atribuido nenhum valor pra ela antes.
  2. kuroi

    Código em C

    acho q deve ter bastante gente aqui q sabe fazer e tb bastante gente disposta a te ajudar em qualquer dificuldade q você tiver ai. mas acho q pra fazer o exercicio todo por você pra você entregar pronto, vai ser dificil aparecer alguém.
  3. kuroi

    Frame

    sks, você ta lendo uma pagina web a partir do vb6, seria isso?? qual componente você ta usando?? webbrowser??
  4. kuroi

    SendData com Winsock

    é, isso ai q você ta fazendo não funciona muito bem não. primero de tudo, na hora de enviar: wskCliente.SendData Text1.Text wskCliente.SendData Text2.Text[/code] dois SendData() assim, um seguido do otro, não costuma funcionar. pelo menos, se eu me lembro bem das minhas epocas de winsock, isso nunca funcionou pra mim. o segundo SendData() ta sendo chamado muito rapido, ele ainda não acabou de processar o primero, então ele vai ignorar o segundo. se você quer mandar dois dados seguidos, o melhor é dar um tempo entre o primero e o segundo com um timer, ou talvez com um Sleep() não sei se funciona. e aqui: [code]Private Sub wskServidor_DataArrival(ByVal bytesTotal As Long) dim strdados1 as string dim strdados2 as string wskServidor.GetData strdados1 Text1.text = strdados1 wskServidor.GetData strdados2 Text2.text = strdados2 end sub geralmente, a gente usa um DataArrival() pra cada SendData(). bom, não sei se o GetData() tem q estar necessariamente vinculado ao DataArrival(), então não vou dizer q dois GetData() no mesmo DataArrival() não pode funcionar. entretanto, mesmo q seja possivel, acho q seria improvavel q você sempre consiga obter os dados direitinho. tb pelo mesmo motivo do SendData acima, não tem como você saber se o segundo dado chegou, a unica forma segura de fazer isso (se é q funciona de outra forma) é esperar um proximo DataArrival(). você deveria rever a forma de usar o winsock. o q a gente costuma fazer é, quando você enviar o dado, enviar alguma coisa junto na string, q identifique a q se refere o dado. por exemplo, quando for pra enviar o texto do textbox1, você poria na frente da string os caracteres "t1:" e quando for do textbox2, você poria "t2:". ai quando os dados chegassem, você podia testar com um if pra saber de qual textbox se refere. ou ainda, você podia mandar os dois textos no mesmo SendData(), separados, por exemplo por "|". e ai no DataArrival(), você dava um Split() pra dividir e punha cada string no seu relativo textbox. fora isso tb não entendi porque você tem dois DataArrival(). um no cliente e otro no servidor.
  5. kuroi

    Operador IN

    legal, entretanto, acho q esse problema pode ocorrer com esse seu codigo:
  6. kuroi

    Operador IN

    {?NOTAS_ESCOLHIDAS} é uma string onde vao vir escritos esses numeros separados por virgula?? é, acho q o in vai procurar na string, e se por exemplo, la dentro estiver assim "12345, 54321", se você procurar o numero "234" ele deve encontrar. usando o Split() isso pode funcionar: StringVar array x; BooleanVar r := False; NumberVar i; x := Split({?NOTAS_ESCOLHIDAS}, ","); For i := 1 To Ubound(x) Do ( If {NOTAFISCAL.NUMERO} = CDbl(x[i]) Then ( r := True; Exit For; ); ); r;[/code]
  7. aqui exemplos de como ler arquivos: http://www.codecogs.com/reference/c/stdio.h/fread.php http://www.cplusplus.com/reference/clibrary/cstdio/fread/ no c++ você tb pode usar o istream. veja ai e se tiver duvidas, poste.
  8. como você monta o formulario?? não usa um for ou qualquer coisa assim?? então faca o mesmo, use um for pra ler.
  9. samantha, acho q a opcao Mode pra você esta como Bitmap, não seria isso?? se for, mude pra RGB Color (ou qualquer outra q você prefira), q a opcao Transparent deve ser habilitada. bitmaps não suportam transparencia.
  10. kuroi

    Crystal 8.5 e VB6

    flecha, o q exatamente você teve q fazer aqui?? mas então, há uns 5 anos atras eu precisei tb distrbibuir uns relatorios do crystal 8.5, sendo q eu não podia instalar o crystal nos pcs. eu tive alguns problemas tb, mas eu lembor q consegui resolver distribuindo junto uma dll chamada p2smon.dll q vem junto com o crystal reports. de uma procurada por ela em algum pc onde você tenha o crystal instalado. so não lembro se precisa registrar a dll. entretanto já tiveram gente reclamando de problemas na distribuicao aqui no forum. se você procurar aqui no forum talvez você encontre alguma outra solucao. inclusive, se não me engano tinha um tutorial do macoratti sobre distribuicao dos relatorios, mas procurei la no site hj e não achei...
  11. tava duente. flecha, acho q não precisa desse Str$() não ne?? tire ele, o seu programa ta fazendo processamento desnecessario.
  12. kuroi

    Dúvida na resolução

    comentei o codigo todo pra vc, veja se consegue entender: #include <stdio.h> /* Inclui a biblioteca stdio.h pra poder usar funcoes como scanf() e printf() */ #include <stdlib.h> /* Inclui a biblioteca stdlib.h pra poder usar a funcao _sleep() */ /* Aqui é declarada a funcao q inverte o numero. Ela é declarada como int pra retornar o numero invertido. Recebe como parametro o numero q deve ser invertido (n) */ int revert(int n) { int rever=0; //cria e zera a variavel de retorno int i=1; //variavel auxiliar /* enquanto i for menor que o numero q deve ser invertido, continuara os procedimentos */ while(i<=n) { /* multiplica o retorno por 10. isso se deve porque o primeiro digito do numero sera isolado e somado na variavel rever. então, multiplica-se por 10 pra mover esse digito uma vez para a esquerda. vai sendo feito assim ate chegar ao ultimo digito, resultando no numero invertido. */ rever*=10; /* aqui isola-se o digito. o operador % retorna o resto da divisao. por exemplo, na primeira passagem, i = 1. se n = 123, o calculo a ser feito sera (123 % (1 * 10) - 123 % 1) / 1 => (3 - 0) / 1 = 3. ou seja, isolou-se o primeiro digito. abaixo, o i é multiplicado por 10, o q na proxima passagem vai levar a se encontrar o segundo digito e assim por diante. */ rever+=(n%(i*10)-n%i)/i; i*=10; } return rever; //retorna o numero invertido. } main() //abre o programa { /* uma variavel pra guardar o numero digitado e outra para o numero invertido */ int num, rev; printf("Numero a inverter: "); //instrucao para o usuario scanf("%d",&num); //le o numero pra dentro da variavel num. rev = revert(num); //chama a funcao q inverte e guarda o resultado na variavel rev. printf("o numero invertido e: %d", rev); //escreve o resultado na tela. _sleep(15000); //espera acho q 15 segundos. } //fim[/code]
  13. isso é porque, como eu disse: arquivo é o primero arquivo aberto, então dentro dele esta o valor 1. o conteudo do arquivo (o nome da pessoa) estaria, naquele codigo q eu passei, dentro da variavel nome_arquivo. é ela q você deve passar no msgbox, entendeu??
  14. kuroi

    Programa

    hum, então, não sei qual compilador você ta usando, mas aqui no dev c++ ele nem aceitou q um float seja passado pra funcao isdigit(). pra você ele dexou compilar?? quanto ao isalpha() ele deveria estar funcionando, exceto q você deveria corrigir os seus printf(). você ta passando o endereco da variavel no segundo parametro, e deveria ser ela propria. exemplo: printf ("%c", letra);
  15. então, primero de tudo, isso aqui não vai funcionar: Open "arquivo.txt" For Output As arquivo If arquivo = Empty Then[/code] pra ler o arquivo, você tem q abrir como Input e não Output. e é bom fechar o arquivo no final. mais ou menos assim: [code]Dim arquivo As Long, nome_arquivo As String arquivo = FreeFile Open "arquivo.txt" For Input As arquivo nome_arquivo = Input$(LOF(arquivo), arquivo) Close arquivo mas você tb ia ser legal você usar antes a funcao Dir() pra saber se o arquivo existe ou não. isso deve ser porque você ta declarando a variavel arquivo como Long e ta tentando soma-la com uma string. quando você for concatenar strings, use sempre o & em vez do + pra evitar esse problema. mas de qualquer forma, a variavel arquivo serve somente pra apontar para o arquivo aberto na memoria. o conteudo do arquivo deve ser lido numa outra variavel string, como você pode ver no codigo acima. e é essa segunda variavel q você deve concatenar no msgbox. veja ai, qualquer coisa poste.
  16. kuroi

    Alocação de memória

    tem sim, você so tem q declarar a variavel x de novo la onde você declarou a clients, assim ela pode ser acessada a partir de qualquer funcao dentro do programa. q problema exatamente esta ocorrendo??
  17. kuroi

    Programa

    um if funciona assim ó: if ([condicao]) { [intrucoes que devem acontecer caso a condicao seja VERDADEIRA] } else { [intrucoes que devem acontecer caso a condicao seja FALSA] }[/code] você percebe então q você ta testando se é alpha e escrevendo as instrucoes no local q vai ser lido apenas se a variavel não for alpha??
  18. kuroi

    Alocação de memória

    então, o * você so usa pra ponteros. olha la, quando você declarou o clients, lembra q eu falei q era pra ser sem o *?? então, isso significa q você não precisa do * pra acessar o valor: clients = clients - x;
  19. kuroi

    Alocação de memória

    hum o clients so vai resetar pra 5 se em alguma parte do codigo você estiver fazendo isso explicitamente. se tiver em alguma parte do codigo a linha: clients= 5; você deveria retira-la, a não ser q em algum momento você queira q o clients realmente resete. logicamente, na linha da declaracao sim a atribuicao deve permanecer.
  20. pra gravar os dados, você teria 3 opcoes: 1 - gravar num arquivo no hd, o q me parece q seja o q você planeja fazer. o codigo seria mais ou menos esse: Dim f As Long f = FreeFile Open "arquivo.txt" For Output As f 'Abre o Arquivo Print #f, "texto" 'Escreve no Arquivo Close #f 'Fecha o arquivo[/code] 2 - gravar no registro do windows, como explica esse tutprial do skylopirata: http://scriptbrasil.com.br/forum/index.php?showtopic=78055 3 - gravar num banco de dados. essa opcao so seria viavel se a sua aplicacao já estivesse usando bancos de dados pra outros fins. não teria o minimo sentido enfiar um bd na sua aplicacao somente pra gravar esse nome ou qualquer outra informacao desse tipo a mais q você precise gravar.
  21. kuroi

    Alocação de memória

    a não, você declara assim: int clients= 5; e note q você não vai precisar passa-la como parametros pras funcoes como você tava fazendo anteriormente. se você declara-la la em cima junto com as structs, ela podera ser acessada diretamente em qualquer parte do programa.
  22. kuroi

    Alocação de memória

    se ela não é ponteiro, ela já é alocada na hora da declaracao. mas so um unico indice. se você declarar como array ele vai alocar mais indices, mas você vai ter q passar o numero de indices na hora de declaracao e depois não sera possivel adicionar mais indices. o melhor é você guardar numa variavel o numero de indices alocados da struct. cada vez q você alocar você soma 1 nessa variavel. ai você faz esse for baseado nessa variavel. pelo q entendi, você ta tentando fazer alguma coisa nesse sentido com a variavel clients. entretanto, desse jeito, declarando-a dentro de cada opcao do switch() não vai te ajudar em nd, porque depois q ele terminar a execucao do case, o valor vai se perder. você devia declara-la la em cima, onde você ta declarando a struct.
  23. usar o mesmo menu em varios forms?? nunca vi nd sobre isso, entretanto daria pra implementar algumas formas. mas todas elas dariam trabalho e teriam limitacoes. você pode usar criar os menus via codigo, como mostrado nesse exemplo: http://articles.techrepublic.com.com/5100-...11-5030277.html e ai você aproveitaria o mesmo codigo para varios forms. e tb daria pra implementar alguma coisa usando usercontrol. veja ai o q você quer fazer, e qualquer coisa poste ai.
  24. você tem duas opcoes. 1 - faca assim: Private Sub cmdOk_Click() frmMenu.Label1.Caption = "Bem vindo " & txtNome.Text & ", tem como?" frmMenu.Show Unload Me End Sub[/code] 2 - declare a variavel v1 como publica num module. e utilize aquele mesmo codigo q você tava usando, retirando apenas a linha Dim v1 As String. ai no load do form frmMenu, faca: [code]Private Sub Form_Load Label1.Caption = "Bem vindo " & v1 & ", tem como?" End Sub entretanto, prefira a primeira opcao do q a segunda.
×
×
  • Criar Novo...