Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Ayuda con este problema (https://www.clubdelphi.com/foros/showthread.php?t=66675)

emiliano_b 08-03-2010 03:32:45

ya casi esta
 
lo resolvi asi... no se si es la mejor manera, pero es la que pense
Código:

  procedure TArchivo.MostrarLista(var ver:TStringGrid);
  var fila, columna,i: integer; d1,d2: word; d3, d4: real;
  begin
    if IOresult<> 0 then
      begin
      showmessage('El Archivo esta vacio');
      exit;
      end;
    ver.Cells[0,0]:='Nombre';
    ver.Cells[1,0]:='Apellido';
    ver.Cells[2,0]:='DNI';
    ver.Cells[3,0]:='Saldo';
    while not eof(archi) do begin
    read(archi, datos);
    columna:=0;
        for fila:=1 to 3 do
            ver.Cells[columna,fila] := datos.nombres;
            inc(columna);
        for fila:=1 to 3 do
            ver.Cells[columna,fila] := datos.Apellido;
            inc(columna);
        for fila:=1 to 3 do
            ver.Cells[columna,fila] := FloatToStr(datos.DNI);
            inc(columna);
        for fila:=1 to 3 do
            ver.Cells[columna,fila] := FloatToStr(datos.saldo);
            inc(columna);
      end;
    end;

casi..falta hacer una validadcion poniendo los valores negatovos y los positivos..

emiliano_b 08-03-2010 07:01:46

ultima ayuda constringgrid y validacion
 
gente les pido un ultimo favor... faltando 3horas para irme a trabajr y ocon la intencion de dormir al menos dos apelo a su buena voluntad..
necesito limpiar un stringrid al seleccionar para ejecutar otra consulta y ver la nueva.
segundo asunto, necesito validar uno de los campos para ver si es un valor negativo o positivo.
hasta aca es donde llegue:

Código:

  procedure TArchivo.MostrarListaPositivos(var ver:TStringGrid);
  var fila, columna,i: integer;
  begin
    if IOresult<> 0 then
      begin
      showmessage('El Archivo esta vacio');
      exit;
      end;
    ver.Refresh;
    ver.Cells[0,0]:='Nombre';
    ver.Cells[1,0]:='Apellido';
    ver.Cells[2,0]:='DNI';
    ver.Cells[3,0]:='Saldo';
    fila:=1;
    columna:=0;
      while not eof(archi) do
        begin
          read(archi, datos);
          ver.Cells[columna,fila] := datos.nombres;
          ver.Cells[1,fila] := datos.Apellido;
          ver.Cells[2,fila] := FloatToStr(datos.DNI);
          ver.Cells[3,fila] := FloatToStr(datos.saldo);
          inc(fila);
        end;
  end;

imagino que no ha de ser comlicado pero luego de unas 10 horas seguidas con esto ya no tengo resto..
gracias, cualquier aporte sera mas que agradecido

BrunoBsso 08-03-2010 16:11:28

Para validar si uno de los campos es positivo o negativo, usa algo así
Código Delphi [-]
Num:=FloatToStr(ver.Cells[2,fila]); //Num sería un real
if (Num>0) then
  Num es positivo
else
  Num es negativo

Para limpiar el StringGrid fiajate si te sirve esto:
Código Delphi [-]
procedure LimpiarStrGrid(var S:TStringGrid);
var
  Fila:Integer;
begin
  //Desde Fila=1 porque Fila=0 contiene el nombre de cada columna
  for Fila := 1 to S.RowCount-1 do begin
    S.Cells[0,Fila]:='';
    S.Cells[1,Fila]:='';
    S.Cells[2,Fila]:='';
    S.Cells[3,FIla]:='';
  end;
  S.RowCount:=2;
  //Así te queda la fila que contiene los nombres de la columna y una fila vacía para empezar a agregar datos
end;
Saludos!

emiliano_b 09-03-2010 00:18:35

fin de tema
 
No se de donde se cierra el tema...pero finalmente salio...les agradezco y espero devolver las ayudas que me han dado en algun momento.
saludos

BrunoBsso 09-03-2010 00:22:42

Creo que los temas no los cerramos los usuarios, sino que los cierran los moderadores/administradores.
Por otro lado, me alegro que se haya solucionado tu problema (aunque mi aporte fue tardío y bastante simple comparado con otros).
Saludos!

Casimiro Notevi 09-03-2010 00:59:48

Nos alegra muchísimo que lo hayas conseguido, finalmente no ha sido tan difícil, es cuestión de echarle ganas y tiempo :)

rgstuamigo 09-03-2010 14:57:08

No sé si será que tu profesor quiere que trabajes así :confused:, pero te cuento que en delphi existen componentes que te permiten hacer exactamente eso que pretender hacer sin codificar casi nada.;).
Si te interesa puedes avisar para poder explicarte.;).
Saludos...

esteban_blanco 22-07-2010 21:42:19

Ayuda Urgente
 
Necesito hacer el siguiente ejercicio y no tengo la menor idea de lo que tengo que hacer...!

Ahí va:
Desarrolle una aplicación Delphi ORIENTADA A OBJETOS que permita administrar los alumnos y calificaciones de la asignatura Matemática Básica de cierta Facultad. La información de los alumnos de la materia se debe organizar en un archivo de acceso directo cuyos registros se componen de los campos: DNI, Apellido, nombres, Nota1, Nota2, Nota3.

La aplicación debe tener los menús
Menú Archivo:
Nuevo, Abrir, Guardar, Agregar Alumno, Eliminar Alumno, Cerrar
Donde
Nuevo: crea un nuevo archivo a través de un cuadro de diálogo para almacenar la lista de alumnos.
Abrir: abre un archivo existente para agregar nuevos alumnos o procesar su información.
Guardar: abre un cuadro de diálogo para guardar el archivo con otro nombre o en otro lugar (Guardar como).
Agregar Alumno: actualiza el archivo con los datos de un nuevo alumno.
Eliminar alumno: elimina un alumno del archivo. Al elegir esta opción se deben “apagar” los edit del Formulario a excepción del correspondiente al DNI. Al hacer clik en ACEPTAR se elimina el alumno.
Cerrar: cierra el archivo.


Menú Herramientas:
Buscar Alumno x DNI, Lista c/Promedios, Lista de Regulares, Lista de Libres
Donde
Buscar Alumno x DNI: anula (apaga) los EDIT a excepción del DNI y permite al usuario buscar en el archivo a dicho alumno al hacer click en ACEPTAR. Si lo encuentra coloca sus datos en cada Eidt y aparecen su promedio y condición: REGULAR si el promedio supera 60 y LIBRE si no lo supera.
Lista c/Promedios: Lista en un componente Memo los apellidos y Nombres de los alumnos del archivo con sus promedios.

Consideraciones para la resolución del problema
UD. Debe definir su propia CLASE en una Unit separada y luego desde el formulario instanciar uno o más objetos de esa clase.

Solo pude hacer la interfaz... I NEED SOMEBODY HELP!!!!

Casimiro Notevi 23-07-2010 03:02:36

Amigo estaban_blanco, bienvenido a clubdelphi, por favor, lee nuestra guía de estilo, muchas gracias.

Caral 23-07-2010 03:05:50

Hola
Cita:

Empezado por esteban_blanco (Mensaje 371246)
..........
Solo pude hacer la interfaz... I NEED SOMEBODY HELP!!!!

Bueno; Yo tambien solo podria hacer lo mismo.
Mal de muchos, consuelo de ...........:D
Saludos

Delphius 23-07-2010 07:03:18

Bueno amigos, dejando de lado que esteba_blanco ha infringido unas cuantas:rolleyes: normas, al menos debemos rescatar su sinceridad y nos lo ha dicho bien clarito: ¡quiere que le hagamos su tarea!:D. Otros se la ingenian para "disfrazar" sus preguntas.

Esteban, me sorprende que diga que sólo hayas podido realizar sólo la interfaz. Se supone que si uno viene estudiando, prestando atención en clase, y poniendo en práctica los conceptos no debería tener problemas en encarar el ejercicio.... O al menos tener cierto indicio o noción.

La consigna del ejercicio da una muestra de que se está pidiendo algo relativamente avanzado en conceptos. En primera está pidiendo manejos de archivos y en segunda se pide que se definan clases propias para el manejo. Si están pidiendo eso entonces se llega a la conclusión de que los conceptos se dieron en clase. Un profesor nunca va a pedir algo que no se haya dado en clase o pedido que investigaran y/o estudiaran.

¡Di al menos que sabes lo que es una clase!

¿Cuál es el verdadero problema? ¿En que PUNTUALMENTE tienes dudas?

El asunto es que aquí nadie te hará la tarea. Te podríamos ayudar siempre y cuando tu des el primer paso y lo intentes. Te iremos asesorando en la medida en que avances y surjan los problemas y/o dudas.
Se te brindarán consejos, guías y sugerencias pero de allí a una aventar una solución completa a tu problema... hay una enorme diferencia y es una línea que ninguno de aquí cruzará.

¿Deseas aprobar? Entonces te sientas, te pones a pensarlo un poco, intentas, pruebas. En caso de dudas PUNTUALES aquí estaremos.

Por cierto, inicia un nuevo hilo.

Saludos,

Delphius 24-07-2010 06:01:08

He visto que Esteban se paseó por el foro hace unas horas. Me extraña que no dijera nada al respecto:rolleyes:... O es que está muy ocupado haciendo su tarea, o no le gustó las soluciones que les hemos presentado (quizá le parece demasiado complicado el código que les pasamos:D).

Saludos,

esteban_blanco 24-07-2010 19:15:35

Tarea
 
Hola:

Realmente estoy muy ocupado como para contestar...!.
Quizá yo sea un novato en este foro pero quisiera aclararte que el trabajo que tengo que hacer es para un curso que estoy haciendo a distancia. No sólo no sé qué comandos utilizar, sino que en las clases audiovisuales que envian en la plataforma, no hay nada parecido a esto, por eso es que me paseo por el foro.
Tengo que hacer el trabajo, no cuento con herramientas para hacerlo, y encima tengo que soportar a una persona que cuestiona mis acciones, poniendo en duda mi honestidad.
Para tu información, yo soy docente, y sé perfecctamente como secuenciar contenidos para que este tipo de situaciones no ocurran, pero bueno; opinar es realmente fácil y criticar más fácil todavia.
Si realmente me queres ayudar, quisiera saber cuáles son los comandos para un menu desplegable, sino gracias lo mismo.
Esteban

Caral 24-07-2010 19:46:53

Hola
No te enojes, tambien se vale hacer bromas de vez en cuando.
Nadie duda de tu honestidad ni mucho menos.
Saludos

ecfisa 24-07-2010 19:52:51

Hola Esteban.

Ahora vamos rumbeando... ;)

1) Pone un componente TMainMenu en el Form.
2) Hacé doble Click sobre él.
3) Agregá los Items que quieras, y llená sus propiedades Caption, en tu caso: Archivo, Nuevo, Abrir, Guardar,...
El primero (Archivo) va a ser el que aparezca como título en el menu, los demás van debajo.

Acabas de hacer un menú principal con MenuItems.
Para asignar procedimientos a cada MenúItem, otra vez doble click sobre TMainMenu, selecciona un item, anda a la pestaña events y hacé doble click sobre OnClick.

Sé que es una respuesta bastante escueta, pero tenés mucho escrito sobre MainMenu para ampliar.



Saludos.

Delphius 24-07-2010 22:03:22

Cita:

Empezado por esteban_blanco (Mensaje 371482)
Hola:

Realmente estoy muy ocupado como para contestar...!.

Todos estamos ocupado y tenemos nuestras obligaciones. Y a pesar de eso, nos tomamos la "molestia" de responder, algunos lo hacen incluso poniendo en riesgo su trabajo.
Así que en ese punto no hay escusa.
Tranquilamente, con esa misma manera de pensamiento. Cualquiera de nosotros podría tomar en sus manos el derecho a no responderte (y dicho sea de paso, es algo que lo permite la guía de estilo). NO estamos obligados a responderte. Pero he aquí que de una u otra forma, hay gente que se toma el tiempo para dedicar a este (y otros) foro.

Cita:

Empezado por esteban_blanco (Mensaje 371482)
Quizá yo sea un novato en este foro pero quisiera aclararte que el trabajo que tengo que hacer es para un curso que estoy haciendo a distancia.

Todos somos novatos en algo. En eso no hay problema, y no he insultado ni te he señalado en ese sentido.

Y no interesa si es a distancia o presencial. Se supone que de una u otra forma se te dan los instrumentos y materiales para con que puedas estudiar y poner en práctica. Y/o de última brindan la información suficiente y necesaria para inverstigarlo por cuenta propia. Es a ello a lo que apunto.

Repito, novatos somos todos. Nadie nació aprendiendo así que por ello no debes sentirte inferior ni de malas.

Lo que molesta aquí es el modo en como tu pretendes recibir ayuda. Te limitaste a exponer la consigna y te sientas a esperar mágicamente la solución. Ese es el mensaje que transmite tu escrito. Distinto hubiera sido si al menos te hubieras tomado la molestia de PUNTUALIZAR y explicar tus dudas. Algo como "Disculpen, pero no entiendo esta parte", "hice esto, pero no me funciona. Me sale este error, aquí" O algo parecido.

¿Se entiende ahora como funciona el Foro? Se ayuda, pero para ello el primer compromiso debe venir de ti. Repito: si deseas recibir ayuda, entonces brinda los elementos necesarios para ayudarte en tus dudas puntuales y no exponiendo la consigna y un simple texto "Solo pude hacer la interfaz... I NEED SOMEBODY HELP!!!!"

Ayuda sabemos que necesitas. El asunto es ¿Qué tipo de ayuda?

Cita:

Empezado por esteban_blanco (Mensaje 371482)
No sólo no sé qué comandos utilizar, sino que en las clases audiovisuales que envian en la plataforma, no hay nada parecido a esto, por eso es que me paseo por el foro.

Es entendible el no tener suficiente noción como encararlo, de saberlo no consultarías por aquí. Lo que no es entendible que digas que no tuviste ni te dieran algo parecido al problema.
Repito lo que he dicho: un profesor nunca pedirá algo que no se haya explicado o investigado.

Es decir, una cosa es no tener noción y otra muy diferente es no tener demasiada noción. Se supone que algo tenes que saber ¿O no?

Algo se te debe haber dado. Algún material de consulta, no se... Pero algo para tener como orientarse seguro. La gran mayoría de las instituciones que ofrecen cursos a distancia tienen un aula virtual en la que los alumnos pueden (y deben) descargar los materiales de estudio, tienen una sección en donde exponer sus dudas al profesor, etc. ¡Es más... algunas incluso envían libros, carpetas y demás por domicilio!

Cita:

Empezado por esteban_blanco (Mensaje 371482)
Tengo que hacer el trabajo, no cuento con herramientas para hacerlo, y encima tengo que soportar a una persona que cuestiona mis acciones, poniendo en duda mi honestidad.

Te digo sinceramente que me cuesta creer que no tienes las herramientas para ello. Sea a distancia o presencial material te dan.
No cuestiono tus acciones, sino el método y la forma en que pretendías recibir tu ayuda. Se te ha invitado a leer la guía de estilo y se te ha dicho que esa es no es la forma de exponer las dudas de uno.

La honestidad se verá con el tiempo. Solamente puedo decir que si realmente quisieras recibir ayuda, entonces hubieras iniciado las cosas de otro modo. Aquí hay una guía de estilo y hay que respetarla.

Cita:

Empezado por esteban_blanco (Mensaje 371482)
Para tu información, yo soy docente, y sé perfecctamente como secuenciar contenidos para que este tipo de situaciones no ocurran, pero bueno; opinar es realmente fácil y criticar más fácil todavia.

Ahora que dices que eres docente me cuesta más aún aceptar la forma en como encaraste esto. Me cuesta creer que un docente diga una única línea: "Solo pude hacer la interfaz... I NEED SOMEBODY HELP!!!!"
Y exponga el ejercicio.

Y si fueras docente, más aún cuesta entender el que no digas que tienes el material.
Podría entender que tengas material pero de que te cueste entenderlo, o asimilar apropiadamente.

Si yo fuera tu, y estuviera cursando ese curso y viendo que no se me brindan el material de trabajo y estudio me hubiera tomado la molestia de averiguar el porqué de ello. ¿Que no te ofrecieron algunos textos? ¿Alguna referencia bibliográfica? ¿Con qué entonces se te enseña?
El asunto es que no podemos hacer mucho si el problema es más una falta de material que se supone que la institución que dicta dicho curso debe brindar a sus alumnos.

Distinto, y discutible, sería si el material no es de la mejor calidad, que le faltase ejemplos o de contenidos muy vagos y simples y sin profundidad teórica...

Alguna noción debes tener seguramente. Algo debiste haber estudiado, visto o analizado.... ¡Cuesta mucho creer viniendo de un docente, que diga esas cosas!

El asunto es que si te ayudamos pero y si luego tu nos dices que no le entiendes o no sabes que es una clase o lo que fuese entonces nuestra ayuda sería en vano. Porque allí lo que se estaría evidenciando es la falta de compromiso de tu parte por haber estudiado al menos mínimamente sobre el tema.

Con todo respeto yo te pregunto ¿Que es lo que sabes? ¿Hasta donde llegan tus conocimientos? ¿Qué estuviste estudiando? Si nos puedes brindar una descripción sobre tus limitaciones y del conocimiento que tienes podríamos irte asesorando.

Cita:

Empezado por esteban_blanco (Mensaje 371482)
Si realmente me queres ayudar, quisiera saber cuáles son los comandos para un menu desplegable, sino gracias lo mismo.
Esteban

Aquí se te quiere ayudar, pero el asunto es que no nos facilitas las cosas para poder ayudarte. No lo tomes a mal, pero es que un ejercicio completo no lo haremos. Se te ayudará en la medida en que nos muestres tus propios avances y tus propias dudas.

Y por cierto... no existen comandos en Delphi.

Te invito a analizar mejor las cosas. Espero que comprendas como es que se maneja en este foro.

La ayuda aquí se ofrece de manera totalmente altruista, no nos pagan por esto. Lo hacemos de nuestro propias ganas. Pero el asunto es que si vamos a poner de nuestra parte y con el debido compromiso, esperamos el mismo compromiso por quien inicia la pregunta.

Si deseas tener más material de donde estudiar y aprender Delphi puedes ir a la sección FTP. Allí hay tanto material teórico como práctico. Recomiendo la lectura del libro La Cara Oculta.

Saludos,

Casimiro Notevi 25-07-2010 03:36:27

Delphius se ha explicado muy claramente: si quieres ayuda... ayúdanos a ayudarte ;)


La franja horaria es GMT +2. Ahora son las 00:53:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi