-
Total de itens
8.257 -
Registro em
-
Última visita
Tudo que Graymalkin postou
-
:) De uma forma prática, não (nisso o Clipper é show de bola!). Mas, como você pode ler tecla por tecla com a função getch() ou getche() você poderia fazer isso "na mão" (ou seja, "pular" os pontos e o hífen). Isso seria bem interessante de se fazer com a CONIO2 (daria pra fazer ficar semelhante a um get com máscara do Clipper). Abraços, Graymalkin
-
Bom, nesse caso, você pode sempre contar a ajuda do pessoal aqui do fórum. ;) Abraços, Graymalkin
-
Ao criar o link para memória você passaria um parâmetro nele: http://www.seusite.com.br/produtos.asp?id=1 Daí, ao fazer uma SELECT na tabela você utilizaria o parâmetro que foi passado. Certo? ;) Graymalkin
-
Nome não é um caracter ("%c") e sim um vetor de caracteres ("%s"). E você ainda experimentou zerá-los dentro do loop? Graymalkin
-
Nomes de variáveis não podem contar sinais de subtração. ;) Como você leria aquilo ali? "E menos mail"? E acho que se um campo de um banco de dados tem um sinal, você deveria colocá-lo entre [] para indicar que se trata de um campo só (e não de uma expressão). Abraços, Graymalkin
-
Você viu o comentário que fiz sobre a string sql? Experimente escrevê-la na tela a cada iteração e veja se ela está só crescendo. Caso positivo, provavelmente é este o problema. Você deveria zerá-la (junto com as outras strings) dentro do loop. Abraços, Graymalkin
-
Faça um teste simples assim: char repetir = 's'; while (repetir != 'n') { printf("\nRepetir (s/n)? "); repetir = getch(); } Se isso funcionar é porque tem algo errado no seu outro código que está fazendo sair (aliás, pode ser o fato de você não zerar a string sql, concatenando tudo todas as vezes). Abraços, Graymalkin
-
Bom, na verdade ele pode estar saindo por outro motivo que não o caso do "repetir". Erros em tempo de execução são um caos em C, porque não dão mensagens. A conexão do MySQL não deveria ser feita apenas uma vez? Experimente tirá-la de dentro do loop e só fechá-la após o mesmo. Abraços, Graymalkin
-
Qual é o valor inicial de repetir? Graymalkin
-
Você pegou aquele exemplo do meu post e colou em um arquivo tal qual está ali, salvou e mandou executar no Dev? Aqui funciona perfeitamente. Abraços, Graymalkin
-
Cara... tem uma pá de erros aí. Primeiro, em que procedimentos estão estas linhas... vector<numero> vetor_numero; numero::vetor_numero.resize(0, 0); ...? Pelo que vejo ali, em nenhum procedimento (estão perdidas fora de qualquer função). Eu acho que a primeira deveria estar nos atributos privados e a segunda no construtor. E também na segunda linha, por que você passa dois inteiros para resize? Aqui... cin >> cont; ... o que é "cont"? Ele não está nem ao menos declarado. E também, é push_back e não pushback. E se você fez um vetor de "numero" você deveria passar um objeto "numero" para push_back e não um inteiro. E devem ter outros erros que eu não tenha visto (não cheguei a corrigir tudo). Abraços, Graymalkin
-
O que você quer fazer exatamente com aquelas três linhas com o Range? Deveria haver um referência para um objeto do Excel ali, e não somente a função. Range serve para você se referir a uma determinada célula (ou um conjunto de células) de uma planilha, mas cadê a planilha no caso? Abraços, Graymalkin
-
Você está incluindo tanto conio.h quanto conio2.h? Se for, deixe somente o segundo, porque este já faz referência ao primeiro. Abraços, Graymalkin
-
No Dev-C++ vá em Ferramentas -> Opções do Compilador -> Adicionar estes comandos à linha de comando do linker (marque esta caixa) e coloque: -lconio Abraços, Graymalkin
-
Como na verdade não existem strings em C, mas sim vetores de chars, foi necessário definir um caracter para determinar o final da mesma. E, no caso, o final de uma "string" em C é marcado com um caracter de código 0 ('\0'). Assim que você declara um vetor de chars ele fica com lixo da memória, portanto o primeiro caracter pode não ser um '\0' (para indicar que a string está vazia). E, strcat() vai procurar pelo final da string para poder concatenar. O que a gente faz ao colocar '\0' no início do vetor é justamente dizer que a string está vazia. De fato não é seguro mas aí vai muito do ambiente em que você vai utilizar. Vai existir algum usuário malicioso e com conhecimento suficiente para explorar essa falha? Abraços, Graymalkin
-
Você pegou a versão 2.0, instalou e colocou o parâmetro no linker para ela? Como você fez? Abraços, Graymalkin
-
Basicamente seu programa teria que ser assim: #include <windows.h> #include <stdio.h> #include <mysql/mysql.h> int main(int) { MYSQL conexao; mysql_init(&conexao); if ( mysql_real_connect(&conexao, "localhost", "root", "*******", "cadastro", 0, NULL, 0) ) { printf("conectado com sucesso!\n"); char sql[100]; char nome[50]; char login[50]; sql[0] = '\0'; // Zerando a string nome[0] = '\0'; login[0] = '\0'; printf("Digite o nome: "); scanf("%s", &nome); printf("Digite o login: "); scanf("%s", &login); strcat(sql, "INSERT INTO aprendendo(nome, login) VALUES ('"); strcat(sql, nome); strcat(sql, "', '"); strcat(sql, login); strcat(sql, "');"); mysql_query(&conexao, sql); mysql_close(&conexao); } else { printf("Falha de conexao\n"); printf("Erro %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); } } Certo? ;) Graymalkin
-
46 C:\Dev-Cpp\projeto.cpp expected `)' before "nome" ? Está errado que você não pode fazer isso. O que um espaço entre uma string e uma variável significa para o compilador? Nada, e é um erro de sintaxe. Você precisará utilizar strcat() para juntar as strings (ou o operador + se for uma string de C++, o que não parece, já que você está utilizando scanf). Abraços, Graymalkin
-
Dá pra fazer um menu legal com a CONIO 2.0 (http://ufpr.dl.sourceforge.net/sourceforge/conio/conio-2.0-1mol.DevPak), semelhante aos menus do Clipper. Dê uma olhada neste exemplo: char opcoes[][10] = {" Opcao 1 ", " Opcao 2 ", " Opcao 3 "}; char c; int selecao = 0; do { for (i=0; i<3; i++) { if (i==selecao) textbackground(BLUE); else textbackground(WHITE); cputsxy(posx, posy+i, opcoes[i]); } c=getch(); switch (c) { case 72: if (selecao>0) selecao--; else selecao = 2; break; case 80: if (selecao==2) selecao = 0; else selecao++; break; } } while (c!=27); Abraços, Graymalkin
-
Ah sim, claro. O que está errado é que você está colocando tudo dentro da string e não concatenando. Veja o exemplo abaixo: char sql[100]; char nome[] = "Teste"; sql[0] = '\0'; // Zerando a string strcat(sql, "INSERT INTO cadastros(nome) values('"); strcat(sql, nome); strcat(sql, "');"); printf("%s\n", sql); Certo? ;) Graymalkin
-
Mude no atalho do programa, para ficar permanente. Assim (com _) eu acho que não, mas dá pra deixar o fundo com uma cor diferente, fazendo parecer que o usuário vai digitar em uma "caixa". Para isso você vai precisar do CONIO 2.0 (http://old.devpaks.org/show.php?devpak=75, ou diretamente para o arquivo: http://ufpr.dl.sourceforge.net/sourceforge....0-1mol.DevPak). Veja o exemplo abaixo: #include <stdio.h> #include <stdlib.h> #include <conio2.h> #include <string.h> int main() { char s[] = " "; int posx = 10; int posy = 10; int i = 0; textbackground(WHITE); textcolor(BLUE); cputsxy(posx, posy, s); gotoxy(posx, posy); while (i<strlen(s)) { char c = getch(); if (c!=8) { putchxy(posx+i, posy, c); i++; } else if (i>0) { i--; putchxy(posx+i, posy, ' '); } } } Certo? ;) Graymalkin
-
Então, como é que você sabe que ele funciona, se não faz o que deveria fazer? Graymalkin
-
Qual é a mensagem do erro? Pelo número é muito difícil lembrar, já a mensagem *diz* exatamente qual é o erro. E também não tem nenhum anexo no tópico. Abraços, Graymalkin
-
Funcionou do mesmo jeito, com o banco que você disponibilizou. Utilizei o campo "Quantidade " (que aliás, tem um "espaço" no final do nome do campo) para armazenar aquele double do outro post e deu certo. Você pode postar como você está fazendo essa atualização/inserção? Abraços, Graymalkin
-
Claro que tem como. É só mudar a propriedade Visible para False. Mas, por que ao invés de "esconder" você não "abre" diretamente a apresentação desejada quando for pressionada determinada tecla? Abraços, Graymalkin