Proyecto fin de carrera

Hola, tengo un problmilla con mi pfc.
Estoy con un programa en Delphi3. Necesito saber la forma de crear una subrutina (o saber si existe alguna sentencia) que me escoja entre una serie de valores de tipo boolean los que son verdaderos (true).
También necesito otra subrutina que entre una lista de valores de tipo real me elimine valores repetidos (por ejemplo: a, b, c, de,... Si a=b=f necesito que se quede solo con uno de ellos.
Muchísimas gracias.

2 Respuestas

Respuesta
1
necesito saber mucho mas sobre el primer items que mencionas, ya que existe la instruccion SET o el Equivalente Enum (C++Builder/JScript); ademas tengo que saber como has enrutado estos datos, si solo SEt o son array porque son la unica forma de manejar enumeraciones o listas en Delphi;
Si es un array solo haces un recorrido con un ciclo "for"; sobre los datos completos y si es un enum, Recuerda que set es equivalente al objeto COM+ Enum en JScript puedes hacer un Script y usar la función IsTrue(Enum) y acortas tu lista.
Para el siguiente caso puedes usar y te recomiendo ampliamente manejes el números como currency(Si son de tipo moneda;o reales parte entera más decimal) y los metas en un TStringList y al adicionarlos usas las sentencias de control
TStringList. IndexOf(CurrToStr(NuevoNumero))<0 lo adicionas; asi solo tendras numeros unicos;el uso de numeros reales y Doubles es algo mas engorroso ; al menos que uses las nuevas rutinas de manejo de VarArray pero esas creo que estan disponibles desde delphi 5 en adelante; a demas para darle mas flexibilidad , existe un componente llamado AwScript (muy bueno); con el que puedes adicionar a tu aplicacion la potencia de JSCript y VBScript; usando cada una de esas buenas rutinas para manejo de enumeraciones y listas que poseen cada lenguaje.
Éxito y suerte. Cualquier duda seguimos en Linea.
Muchísimas gracias.Tratere de poner en practica tu respuesta (no tengo internet en casa y estoy en un bar). Digo intentare puesto que escogí un pfc como reto personal, ya que lo de programar se me da muy mal, fue un gran error por mi parte, pero en fin...
Si no te importa te preguntare algo más, de ser necesario, en otro momento. Gracias.
Respuesta
1
Bueno para la primera pregunta puedes utilizar un ciclo:
p.ej.
for i := 1 to (ultimo valor) do
begin
if (valor = True) then
Guardar en una variable temporal o en un array
end;
Para la ultima pregunta desearía saber si esta lista es definida o no.
No entiendo muy bien lo que deseas, ¿al final tienes que quedarte con un valor? ¿Y eliminar los valores repetidos? ¿Si no los hubiera con que valor me quedo?. Todas estas preguntas son para ubicarme más en el asunto.
Los valores de la lista son de tipo real, p.e:
a=1.256487854
b=5.26548754555
Espero que te refieras a esto (es que no soy muy bueno en el tema de programación) Gracias.
Perdón, perdón... Vamos a ver, tengo valores numéricos, 12 por ejemplo, si tres de ellos se repiten tengo que eliminardos y quedarme con uno, con lo cual me quedaría con diez valores (de los elementos repetidos me quedo solo con uno).ÇSi no se repiten elementos entonces no elimino ninguno, lo que no quiero es elementos iguales repetidos. Espero haberme explicado con claridad. Muchísimas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas