• Jueves 2 de Abril de 2026, 11:49

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - johndoe90

Páginas: [1]
1
Visual Basic 6.0 e inferiores / El argumento no es opcional
« en: Jueves 14 de Mayo de 2009, 13:18 »
Hola el error me da en la linea marcada con negrita:
Alguien me pude decir como solucionarlo?
Gracias.

Private Sub cambiar_Click()
Dim nueva, ide As String
Dim er As Long
nueva = nuevo.Text
nuevo.Text = "              "
er = DLLmodificar_id(nueva_id)
If er = 0 Then
pintar_matriz
End If

End Sub

Modulo:

Public Declare Function DLLmodificar_id _
Lib "tren.dll" _
(ByVal nueva_id As String, ByVal id As String) _
As Long

2
Hola, estoy haciendo un programilla de VB 6.0 a partir de una dll en C++, y me da este error en la siguiente linea:

Alguien sabe el motivo o como solucionarlo?

Gracias.

Adjunto codigo:

Option Explicit


Private Sub Command1_Click()
Dim name As String
Dim cpu As Single
Dim mem As Long

name = "                    "
name_in.Text = name
cpu_in.Text = cpu
mem_in.Text = mem

DLLpon_imageName (name)
DLLpon_cpuUsage (cpu)
DLLpon_memUsage (mem)
MsgBox "Datos introducidos correctamente"


End Sub

Private Sub Command2_Click()
Dim palabra As String
Dim cpuUsage As Single
Dim memUsage As Long
palabra = "                  "

DLLdame_imageName (palabra)
DLLdame_cpuUsage (cpuUsage)
DLLdame_memUsage (memUsage)

name_out.Text = palabra
cpu_out.Text = cpuUsage
mem_out.Text = memUsage

End Sub


Codigo C++

typedef char Tpalabra [20];

class CProcess
{
private:
   Tpalabra imageName;
   float cpuUsage;
   int memUsage;

public:
   void pon_imageName(Tpalabra name);
   Tpalabra* dame_imageName();
   void pon_cpuUsage(float cpu);
   float dame_cpuUsage();
   void pon_memUsage(int mem);
   int dame_memUsage();
   float valor_inicial_cpu();
   int valor_inical_mem();
};

#include "CProcess.h"
#include <string.h>

float CProcess::valor_inicial_cpu()
{
   return cpuUsage;
}

int CProcess::valor_inical_mem()
{
   return memUsage;
}


void CProcess::pon_imageName(Tpalabra name)
{
   strcpy(imageName,name);
}

Tpalabra* CProcess::dame_imageName()
{
   return (&imageName);
}

void CProcess::pon_cpuUsage(float cpu)
{
   cpuUsage=cpu;
}

float CProcess::dame_cpuUsage()
{
   return (cpuUsage);
}

void CProcess::pon_memUsage(int mem)
{
   memUsage=mem;
}

int CProcess::dame_memUsage()
{
   return (memUsage);
}

LIBRARY CProcess.dll
DESCRIPTION 'Dll CProcess'
HEAPSIZE 4024

EXPORTS
      DLLpon_imageName   @1
      DLLdame_imageName  @2
      DLLpon_cpuUsage    @3
      DLLdame_cpuUsage   @4
      DLLpon_memUsage    @5
      DLLdame_memUsage   @6


#include "Windows.h"
#include "CProcess.h"

CProcess my_Process;

void FAR PASCAL DLLpon_imageName(Tpalabra name)
{
   my_Process.pon_imageName(name);
}

void FAR PASCAL DLLdame_imageName(Tpalabra name)
{
   strcpy(name,*my_Process.dame_imageName());
}

void FAR PASCAL DLLpon_cpuUsage(float cpu)
{
   my_Process.pon_cpuUsage(cpu);
}

float FAR PASCAL DLLdame_cpuUsage()
{
   return my_Process.dame_cpuUsage();
}

void FAR PASCAL DLLpon_memUsage(int mem)
{
   my_Process.pon_memUsage(mem);
}

int FAR PASCAL DLLdame_memUsage()
{
   return my_Process.dame_memUsage();
}

3
Hola que tal?
A que es debido este error? Si, ya se que esperaba una funcion o una variable, pero en esencia, porque suele pasar este tipo de error?
El bucle esta bien escrito?
El error me lo marca con amarillo en Private Sub Form_Load() y en azul me subraya DLLdame_id.
Gracias.

Option Explicit

Private Sub Form_Load()
Dim n As Long
Dim k As Integer
Dim id As String
Dim t As String
Dim er As Long
Dim x As Long
x = 0
er = DLLcargar
If er = -1 Then
MsgBox "Error al cargar el fichero"
ElseIf er = -2 Then
MsgBox "Error al leer el id"
ElseIf er = -3 Then
MsgBox "error al leer el porcentaje de ocupacion"
ElseIf er = -4 Then
MsgBox "error al leer las cooredenadas"
ElseIf er = -5 Then
MsgBox "Las coordenadas exceden la capacidad de la matriz"
ElseIf er = -6 Then
MsgBox "Error al leer los datos personales"
Else
MsgBox "Fichero cargado correctamente"



id = "                    "
n = DLLdame_num_trenes
For k = 0 To n
    t = "                    "
    x = DLLdame_id(id, k)
    If x = 0 Then
        t = id
    End If
    List1.AddItem t
   
Next k
End Sub

4
Visual C++ / error LINK 2001
« en: Lunes 27 de Abril de 2009, 13:23 »
Hola, haciendo un codigo en C++ en objetos para hacer una pila sencilla, al compilar me salieron estos errores, si alguien sabe a que se deben o como solucionarlos que me lo diga por favor.
Gracias.

Linking...
pila.obj : error LNK2001: unresolved external symbol "public: __thiscall CProcess::CProcess(void)" (??0CProcess@@QAE@XZ)
principal.obj : error LNK2001: unresolved external symbol "public: __thiscall CProcess::CProcess(void)" (??0CProcess@@QAE@XZ)
Debug/CProcess.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

CProcess.exe - 3 error(s), 0 warning(s)

CProcess.h

Código: Text
  1. typedef char Tpalabra [20];
  2.  
  3. class CProcess
  4. {
  5. private:
  6.     Tpalabra imageName;
  7.     float cpuUsage;
  8.     int memUsage;
  9.  
  10. public:
  11.     CProcess();
  12.     void pon_imageName(char name[20]);
  13.     char* dame_imageName();
  14.     void pon_cpuUsage(float cpu);
  15.     float dame_cpuUsage();
  16.     void pon_memUsage(int mem);
  17.     int dame_memUsage();
  18.     float valor_inicial_cpu();
  19.     int valor_inical_mem();
  20. };
  21.  

pila.h

Código: Text
  1. #include "CProcess.h"
  2. #define MAXPILA 5
  3.  
  4. class CPila
  5. {
  6. private:
  7.     CProcess Vector[MAXPILA];
  8.     int CimPila;
  9.  
  10. public:
  11.     CPila(void);
  12.     int PilaVacia(void);
  13.     int PilaLlena(void);
  14.     void PushPila(CProcess &t);
  15.     CProcess* PopPila(void);
  16. };
  17.  

CProcess.cpp

Código: Text
  1. #include "CProcess.h"
  2. #include <string.h>
  3.  
  4. void CProcess::pon_imageName(char name[20])
  5. {
  6.     strcpy(imageName,name);
  7. }
  8.  
  9. char* CProcess::dame_imageName()
  10. {
  11.     return (imageName);
  12. }
  13.  
  14. void CProcess::pon_cpuUsage(float cpu)
  15. {
  16.     cpuUsage=cpu;
  17. }
  18.  
  19. float CProcess::dame_cpuUsage()
  20. {
  21.     return (cpuUsage);
  22. }
  23.  
  24. void CProcess::pon_memUsage(int mem)
  25. {
  26.     memUsage=mem;
  27. }
  28.  
  29. int CProcess::dame_memUsage()
  30. {
  31.     return (memUsage);
  32. }
  33.  
  34. pila.cpp
  35.  
  36. #include "pila.h"
  37.  
  38. CPila::CPila(void)
  39. {
  40.     CimPila=-1;
  41. }
  42. int CPila::PilaVacia(void)
  43. {
  44.     return(CimPila==-1);
  45. }
  46. int CPila::PilaLlena(void)
  47. {
  48.     return(CimPila==MAXPILA-1);
  49. }
  50. void CPila::PushPila(CProcess &p)
  51. {
  52.    Vector[++CimPila]=p;
  53. }
  54. CProcess* CPila::PopPila(void)
  55. {
  56.     return(&Vector[CimPila--]);
  57. }
  58.  

Código: Text
  1. #include "CProcess.h"
  2. #include <string.h>
  3. #include <stdio.h>
  4.  
  5. void main()
  6. {
  7.     CProcess my_Process;
  8.     Tpalabra name;
  9.     float cpu;
  10.     int mem;
  11.  
  12.     printf("Escribe los datos del proceso.n");
  13.     printf("Nombre de la imagen.n");
  14.     scanf("%s",name);
  15.     my_Process.pon_imageName(name);
  16.     printf("Uso de la cpu, ha de ser un valor comprendido entre 0 y 100, es un tanto por ciento.n");
  17.     scanf("%f",&cpu);
  18.     my_Process.pon_cpuUsage(cpu);
  19.     printf("Uso de la memoria.n");
  20.     scanf("%d",&mem);
  21.     my_Process.pon_memUsage(mem);
  22.  
  23.     printf("El proceso %s tiene un uso de: n", my_Process.dame_imageName());
  24.     printf("%f de cpu.n", my_Process.dame_cpuUsage());
  25.     printf(" y %d de memoria.n",my_Process.dame_memUsage());
  26.  
  27. }
  28.  


PD: Como se puede poner un codigo tan largo un poco mas comprimido que no ocupe todo el post?

5
Visual C++ / error 49
« en: Lunes 27 de Abril de 2009, 13:15 »
Hola, estoy intentando hacer un programa en VB a partir de una dll hecha con C++ en objetos. El programa consiste en introducir el nombre, uso de cpu y memoria de un proceso, y luego mostrarlo, todo va bien hasta que se le da a mostrar, entonces me sale el error 49: "La convencion de llamadas a DLL es incorrecta". Alguien sabria decirme donde esta el fallo?

Gracias.

Adjunto código.

CProcess.h

typedef char Tpalabra [20];

class CProcess
{
private:
   Tpalabra imageName;
   float cpuUsage;
   int memUsage;

public:
   CProcess();
   void pon_imageName(Tpalabra name);
   Tpalabra* dame_imageName();
   void pon_cpuUsage(float cpu);
   float dame_cpuUsage();
   void pon_memUsage(int mem);
   int dame_memUsage();
   float valor_inicial_cpu();
   int valor_inical_mem();
};

CProcess.cpp

#include "CProcess.h"
#include <string.h>

Tpalabra newProc;

CProcess::CProcess()
{
   strcpy(imageName,newProc);
   cpuUsage=0.0;
   memUsage=0;
}

float CProcess::valor_inicial_cpu()
{
   return cpuUsage;
}

int CProcess::valor_inical_mem()
{
   return memUsage;
}


void CProcess::pon_imageName(Tpalabra name)
{
   strcpy(imageName,name);
}

Tpalabra* CProcess::dame_imageName()
{
   return (&imageName);
}

void CProcess::pon_cpuUsage(float cpu)
{
   cpuUsage=cpu;
}

float CProcess::dame_cpuUsage()
{
   return (cpuUsage);
}

void CProcess::pon_memUsage(int mem)
{
   memUsage=mem;
}

int CProcess::dame_memUsage()
{
   return (memUsage);
}

DLLCProcess.cpp

#include "Windows.h"
#include "CProcess.h"

CProcess my_Process;

void FAR PASCAL DLLpon_imageName(Tpalabra name)
{
   my_Process.pon_imageName(name);
}

void FAR PASCAL DLLdame_imageName(Tpalabra name)
{
   strcpy(name,*my_Process.dame_imageName());
}

void FAR PASCAL DLLpon_cpuUsage(float cpu)
{
   my_Process.pon_cpuUsage(cpu);
}

float FAR PASCAL DLLdame_cpuUsage()
{
   return my_Process.dame_cpuUsage();
}

void FAR PASCAL DLLpon_memUsage(int mem)
{
   my_Process.pon_memUsage(mem);
}

int FAR PASCAL DLLdame_memUsage()
{
   return my_Process.dame_memUsage();
}


CProcess.def

LIBRARY CProcess.dll
DESCRIPTION 'Dll CProcess'
HEAPSIZE 4024

EXPORTS
      DLLpon_imageName   @1
      DLLdame_imageName  @2
      DLLpon_cpuUsage    @3
      DLLdame_cpuUsage   @4
      DLLpon_memUsage    @5
      DLLdame_memUsage   @6


VB

Form 1

Option Explicit


Private Sub Command1_Click()
Dim name As String
Dim cpu As Single
Dim mem As Long

name = "                    "
name_in.Text = name
cpu_in.Text = cpu
mem_in.Text = mem

DLLpon_imageName (name)
DLLpon_cpuUsage (cpu)
DLLpon_memUsage (mem)
MsgBox "Datos introducidos correctamente"


End Sub

Private Sub Command2_Click()
Dim palabra As String
Dim cpuUsage As Single
Dim memUsage As Long
palabra = "                  "

DLLdame_imageName palabra
DLLdame_cpuUsage cpuUsage
DLLdame_memUsage memUsage

name_out.Text = palabra
cpu_out.Text = cpuUsage
mem_out.Text = memUsage

End Sub

Module1

Option Explicit

Public Declare Function DLLpon_imageName _
Lib "CProcess.dll" _
(ByVal name As String) _
As Long

Public Declare Function DLLdame_imageName _
Lib "CProcess.dll" _
(ByVal imageName As String) _
As Long

Public Declare Function DLLpon_cpuUsage _
Lib "CProcess.dll" _
(ByVal cpu As Single) _
As Long

Public Declare Function DLLdame_cpuUsage _
Lib "CProcess.dll" _
(ByVal cpuUsage As Single) _
As Long

Public Declare Function DLLpon_memUsage _
Lib "CProcess.dll" _
(ByVal mem As Long) _
As Long

Public Declare Function DLLdame_memUsage _
Lib "CProcess.dll" _
(ByVal memUsage As Long) _
As Long



PD: Hay alguna manera de no meter un codigo tan largo en un post? Comprimirlo o algo asi?

6
Visual C++ / pilas
« en: Jueves 5 de Marzo de 2009, 23:22 »
Hola, estoy estudiando este interesante mundo de las pilas y colas.He hecho el siguiente programa que lee una secuencia de numeros y los devuelve al revés.
Adjunto el codigo en C para que me puedan decir si esta bien, en especial las funciones, gracias.

#include <stdio.h>
#define MAXPILA 5

typedef struct
{
   int pilavector[MAXPILA];
   int cimpila;
}Tpila;

void crear_pila(Tpila *pila)
{
   pila->cimpila=-1;
}

int pila_vacia(Tpila pila)
{
   if (pila.cimpila=-1)
   {
      return 1;
   }
   else
   {
      return 0;
   }
}

int pila_llena(Tpila pila)
{
   return (pila.cimpila==MAXPILA-1);
}


void pushpila(Tpila *pila, int n)
{
   pila->pilavector [++pila->cimpila] = n;
}

int poppila(Tpila *pila)
{
   return pila->pilavector[pila->cimpila];
   pila->pilavector[--pila->cimpila];
}



void main ()
{
   Tpila mi_pila;
   int n;

   crear_pila (&mi_pila);
   printf ("Escribe el primer número de la secuencian");
   scanf ("%d",&n);
   while (n!=0)
   {
      if (!pila_llena (mi_pila))
         pushpila (&mi_pila,n);
      else
         printf ("La pila ya está llenan");
      printf ("Escribe el siguiente número de la secuencian");
      scanf ("%d",&n);
   }
   printf("Ahora los números al revésn");
   while (!pila_vacia (mi_pila))
   {
      poppila(&mi_pila);
      printf ("%d",&n);
   }
}

7
Visual C++ / Matrices en una pila
« en: Miércoles 4 de Marzo de 2009, 12:38 »
Hola, estoy estudiando pilas y colas en C y me preguntaba si se puede almacenar matrices en una pila (1 matriz por una posicion de la pila).
Alguien sabe como lo podria hacer? Gracias.

8
Visual C++ / Fecha y vector de caracteres
« en: Lunes 5 de Enero de 2009, 23:21 »
Buenos dias.

Estoy diseñando un programa que maneja a comerciales de una agencia de pisos, cada comercial tiene unos pisos asignados. He tenido problemas con dos cosillas:

1. Como puedo hacer para que el programa me muestre la hora y fecha actual?
2. Hacer que lea, cargue y guarde de un archivo un vector de caracteres (para el nombre del comerciante y del piso).

Gracias.

Páginas: [1]