• Viernes 6 de Diciembre de 2019, 06:25

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.


Mensajes - baldur

Páginas: [1]
1
Pascal / Re: Funcion convertir STRING a REAL
« en: Domingo 25 de Enero de 2009, 12:10 »
Tío, muchiiiisimas GRACIAS!, me has salvado... :D

Pues yo tenía en que el exponente era i-1 y cambiadolo por lo que tu dices, length(cadenaEntera)-i ya rula...xD

Al final me han quedado así los dos bulces:

Código: Text
  1.  
  2.         For i:=length(cadenaEntera) downto 1 Do
  3.     begin
  4.         AuxEntero:=parteEntera;
  5.         parteEntera:=(CharToInt(cadenaEntera[i])*potencia(10,length(cadenaEntera)-i))+AuxEntero;    
  6.     end;
  7.  
  8.  

Código: Text
  1.  
  2.         For i:=1 To length(cadenaDecimal) Do
  3.         begin
  4.             AuxDecimal:=parteDecimal;
  5.             parteDecimal:=(CharToInt(cadenaDecimal[i])*potencia(10,(-i)))+AuxDecimal;   
  6.         end;
  7.  
  8.  

En la potencia de los decimales, mando como exponente la posición de la i pero negativa(para que de 0.1,0.2...etc), no sé si está correcto....es decir, por ahora me funciona, pero no sé si en algún caso puede cascar...

Gracias por todo y un Saludo!

2
Pascal / Re: Funcion convertir STRING a REAL
« en: Domingo 25 de Enero de 2009, 03:14 »
Muchas gracias por responder.
He tenido que crear 3 funciones. Una que me convierta un CHAR a un INTEGER, otra que me calcule las pontencias, y por último la global de StringAreal.
Pero tengo un problema y no logro solucionarlo. Y es que me convierte todo bien excepto los múltiplos de 10, osea los que tienen un 0 en el lugar de las unidades.
Por ejemplo, 9.5 o 11.1 o 2.4 me los convierte bien, pero si pongo 10 me devuelve 1, si pongo 20.5 me devuelve 2.5, osea que no guarda el 0 de las unidades.... os pongo aquí todo lo que he hecho, a ver si me podeis hechar una mano... Un Saludo y Gracias!

Código: Text
  1.  
  2. Function CharToInt (caracter: char) : integer;
  3. Begin
  4.     CharToInt:=Ord(caracter)-48;{Devuelve un integer correspondiente con el número guardado en char}
  5. End;
  6.  
  7. FUNCTION potencia( numero, exponente : integer ) : real;
  8. VAR resultado:integer VALUE 0;
  9.     expNeg:boolean;
  10. begin
  11.     resultado := 1;
  12.     If exponente<0 then
  13.     begin
  14.         exponente:=-(exponente);
  15.         expNeg:=true;
  16.     end;
  17.     while exponente > 0 do
  18.     begin
  19.     resultado := resultado*numero;
  20.     exponente:=exponente-1;
  21.     end;
  22.     If Not expNeg Then potencia:=resultado
  23.     Else
  24.         potencia:=1/resultado;
  25. end;
  26.  
  27. FUNCTION StringToReal(cadenaNum:tCadenaFuncion):real;
  28. VAR cadenaEntera:string(length(cadenaNum)); 
  29.     cadenaDecimal:string(length(cadenaNum));   
  30.     parteEntera:real VALUE 0;
  31.     AuxEntero:real VALUE 0;
  32.     parteDecimal:real VALUE 0;
  33.     AuxDecimal:real VALUE 0;
  34.     puntoEncontrado:boolean VALUE FALSE;
  35.     i:integer VALUE 0;
  36. BEGIN
  37.     cadenaEntera:='';
  38.     cadenaDecimal:='';
  39.     For i:=1 To length(cadenaNum) Do
  40.     begin
  41.         If (cadenaNum[i]='.') then puntoEncontrado:=TRUE
  42.         Else
  43.         begin
  44.             If Not puntoEncontrado Then cadenaEntera:=cadenaEntera+cadenaNum[i]
  45.             Else
  46.                 cadenaDecimal:=cadenaDecimal+cadenaNum[i];
  47.         end;           
  48.     end;
  49.  
  50.     For i:=length(cadenaEntera) downto 1 Do
  51.     begin
  52.         AuxEntero:=parteEntera;
  53.         parteEntera:=(CharToInt(cadenaEntera[i])*potencia(10,(i-1)))+AuxEntero;   
  54.     end;
  55.     If puntoEncontrado Then
  56.     begin
  57.         For i:=1 To length(cadenaDecimal) Do
  58.         begin
  59.             AuxDecimal:=parteDecimal;
  60.             parteDecimal:=(CharToInt(cadenaDecimal[i])*potencia(10,(-i)))+AuxDecimal;   
  61.         end;
  62.         StringToReal:=parteEntera+parteDecimal;
  63.     end
  64.     Else
  65.         StringToReal:=parteEntera;
  66. END;
  67.  
  68.  

3
Pascal / Re: Funcion convertir STRING a REAL
« en: Sábado 24 de Enero de 2009, 21:55 »
Cita de: "SergioyoPlayer"
El procedimiento VAL te lo hace ^^
VAL(cadena_a_convertir:STRING,VAR número_que_devuelve:BYTE/WORD/INTEGER/LONGINT/REAL,etc.,VAR error:BYTE - indica la posición del STRING donde hay un caracter erróneo)

La puedes ver en la carpeta "FPC/versión/DOC/rtl.pdf
Y en el pdf, en la unidad SYSTEM (es la que viene "por defecto" con los mínimos para programar). Concretamente, en el apartado "Procedures and Functions".

Suerte ;)


Estamos hablando de PASCAL, versión ISO 1026...viene pelao, sin esas funciones.... te comento que hasta te tienes que crear una función para enlazar con ficheros...xD(no existe la assing)...xD

4
Pascal / Funcion convertir STRING a REAL
« en: Jueves 22 de Enero de 2009, 23:09 »
Hola, estoy haciendo una práctica en PASCAL, pero este tiene que ser ISO PASCAL 1026, que viene pelado vamos...sin nada...xD

Lo que necesito es crearme unas funciones o función que me permita el cambio de string a real, además de las típicas de sacar acentos y esas pijadas... pero como el pascal lo he utilizado muy poco, pues no soy capaz.
Si me podeis hechar una mano os lo agradezco.

Un Saludo y Gracias!

5
Visual Basic 6.0 e inferiores / Sistema Gestión Empresa Jardinería
« en: Sábado 5 de Enero de 2008, 11:55 »
Hola, pues os comento.
Estoy estudiando el CS de Desarrollo de Aplicaciones Informática.
De proyecto me ha tocado hacer un Sistema de Gestión de una empresa de Jardinería.
Lo voy a hacer en Visual Basic y utilizando Access (SQL Server me parece una burrada para una aplicación monopuesto).

El caso es que es mi primera aplicación "grande" y que "vaya a servir de algo", y no tengo mucha idea de como realizarla.
Por eso estoy buscando web´s con programas o web´s de empresas que vendan programas de este tipo para basarme en uno y empezar a desarrllarlo y tener "una guía".
Hace tiempo encontré una web de una empresa que tenían desarrollados varios programas y justamente entre ellos uno de gestión de jardinería. La web tenía incluso un montón de vídeos de como utilizar la aplicación y mostraba muy bien toda la interfaz y su funcionamiento.
Esos vídeos me venían de lujo, pero resulta que se me olvidó apuntar la web y ahora llevo 2 días buscando y buscando en google y no la encuentro.

Si me podeis hechar una mano a encontrar esa web y además darme así algunos consejos sobre como empezar la aplicación y que pautas y orden seguir, os lo agradeceré muchísimo.

Un Saludo y gracias por vuestra ayuda!!

Páginas: [1]