PDA

Ver la Versión Completa : Desde cuando los identificadores en pascal pueden contener acentos?


donald shimoda
27-11-2008, 16:25:33
No salgo e mi asombro, para mi es algo absolutamente nuevo.:eek:

Sin darme cuenta haciendo refactoring me encuentro con que un método con un acento COMPILA!!!!????

Seguro que los eruditos lo sabían.:D Así que quisiera saber a partir de que versión borland ( o fue codegear) violó de esta manera los preceptos del viejo Niklaus?

Desde ya despavorido le he cambiado el nombre, no quiero que alguna de las herramientas que uso (caso gexpert) se tare por esto

Saludos.

Al González
27-11-2008, 17:54:15
¡Hola!

No mencionas que compilador utilizas en este caso, pero creo que tiene que ver con la introducción de Unicode en Delphi 2009:

http://www.clubdelphi.com/foros/showthread.php?t=61860

...Regarding source code files keep in mind you can save them in any format you like, but it is
necessary to use a Unicode format in case you are using any code point above 255 in your
source code (for identifier names, strings, comments, or just about anything else). The editor will
prompt you to use such a format when required, but you can go for Unicode source files
anyway...

Saludos.

Al González. :)

Delphius
27-11-2008, 17:57:41
D6 Protesta:o
Me cuesta creerlo... ¿no habrá sido alguna ilusión donald? A lo mejor te pareció haber visto un acento.;)

¡manda foto! porque si es así ¡me caigo y me levanto!:eek:

Saludos,

maeyanes
27-11-2008, 18:08:14
Hola...

Pues te caerás y levantarás :p

Hice una prueba en Delphi 2007 y declarando una variable tipo string acentuada, la aplicación compiló sin problemas.


var
Página: string;


Ahora, solo fue eso lo que hice, no probé si daba algún problema tratando de asignarle un valor.



Saludos...

roman
27-11-2008, 18:13:54
¡Vaya! Pero entonces, no depende del unicode ¿no? Ya que sirve en 2007. Esto yo sólamente lo había visto en PHP. Es bueno que delphi ya tabién lo tenga.

// Saludos

maeyanes
27-11-2008, 18:20:37
Hola...

Hice más pruebas y si, Delphi 2007 compila y ejecuta sin problemas tanto procedimientos y funciones como variables cuyos nombres estén acentuados...

Ahora, ¿será así por diseño o es un bug desconocido hasta ahora? :p



Saludos...

donald shimoda
27-11-2008, 18:20:47
¡Hola!

No mencionas que compilador utilizas en este caso, pero creo que tiene que ver con la introducción de Unicode en Delphi 2009:

http://www.clubdelphi.com/foros/showthread.php?t=61860

Saludos.

Al González. :)

Si lo menciono, es Delphi 2007, asi que dudo que tenga que ver con Delphi 2009 (tampoco lo tengo instalado en esa vm por si acaso).

Saludos.

donald shimoda
27-11-2008, 18:31:26
D6 Protesta:o
Me cuesta creerlo... ¿no habrá sido alguna ilusión donald? A lo mejor te pareció haber visto un acento.;)

¡manda foto! porque si es así ¡me caigo y me levanto!:eek:

Saludos,


Para Delphius que lo mira por TV (http://farm4.static.flickr.com/3155/3063219009_b8a1b2e147_b.jpg)

Delphius
27-11-2008, 18:37:42
¡Me caí y me levanté!:eek:
Pero es una muy buena noticia... ¡entonces ya no más anno y/o anio, y no más -cion que me moleste la vista!:)

Saludos,

donald shimoda
27-11-2008, 18:39:48
¡Me caí y me levanté!:eek:
Pero es una muy buena noticia... ¡entonces ya no más anno y/o anio, y no más -cion que me moleste la vista!:)

Saludos,

Bueno, mis programad abandonarán el spanglish en el corto plazo supongo.:p Pero ahora hay que ver si todo el mundillo de herramientas esta listo. Gexpert no se quejo al menos.

Saludos.

egostar
27-11-2008, 18:48:34
Hola

Lo he probado con mi Turbo Delphi y parece que se está quejando, así que debe ser a partir de Delphi 2007

Salud OS

Héctor Randolph
27-11-2008, 18:51:57
procedure TForm1.Button1Click(Sender: TObject);
const
π = 3.141592;
var
β : Double;
begin
β := cos( π / 3 );
ShowMessageFmt('Beta = %f',[β]);
end;


Increíble :eek::eek: esto compila en Delphi 2007.

roman
27-11-2008, 19:14:32
Ahora que, yo lo siento por quienes no tienen buena ortografía, pobres, ¡cómo van a sufrir! :D

// Saludos

egostar
27-11-2008, 19:22:20
Ahora que, yo lo siento por quienes no tienen buena ortografía, pobres, ¡cómo van a sufrir! :D

// Saludos

Pues seguiremos usando el espanglish como siempre :D:D:D

Salud OS

Al González
27-11-2008, 19:26:31
Ahora que, yo lo siento por quienes no tienen buena ortografía, pobres, ¡cómo van a sufrir! :D

// Saludos
¿Será que no solamente Delphi 2009 tiene algo de Unicode? ;)

TOPX
27-11-2008, 20:38:37
Uhm, sí... yo tuve que "averigurarlo" después de asombrarme de ver en algún foro X código Delphi con caracteres de otros alfabetos, hace algunos meses.

Y bueno, si entendi bien lo que leí, con la implementación de codepages seleccionables para los fuentes en D2k5 (http://dn.codegear.com/article/33289) se logró eso.

Faust
27-11-2008, 21:02:11
Jamás lo hubiera creido sin ver la imagen...

Llegué a pensar (una vez a mi me pasó) que en vez de un acento era una basurita pegada al monitor.

cHackAll
27-11-2008, 21:09:30
Jamás lo hubiera creido sin ver la imagen...

Llegué a pensar (una vez a mi me pasó) que en vez de un acento era una basurita pegada al monitor.

:D jajaja (pues si, me causo gracia)

PD; ahora habra que buscar un corrector ortografico como insinua roman no?

Delphius
27-11-2008, 21:34:58
Esto para mi es una contra noticia además,
Yo me he acostumbrado a codificar en inglés y documentar en castellano (no me pateen, que se le va a ser... soy un animal bastante galleguito y cuadrado). Tengo que admitir que cuando preparo ejemplos aqui, me complico la vida al buscarle el español al asunto...

Ahora que se puede meter esto... pues... ¡la q.l.p!:mad::D Jajaja.
En adelante no va a ver pretextos:rolleyes:...

Y si.... va a ser falta un corrector;)

Faust
27-11-2008, 23:21:41
Acabo de comprobarlo en Delphi 2007 y...

No me parece buena idea...

Tantos años de programar evitando usar caracteres especiales... ¿y ahora qué? permitirán el uso de espacios en blanco... imaginen;


function Valida String (const Mi variable: string): boolean;
begin
Result:= Procedimiento de validación(Mi variable)
end;


O Delphi usando Object Pascal en español:


función Valida String(Mi variable: Cadena de Texto);
inicio
Resultado:= Procedimiento de validación(Mi variable)
fin;


:rolleyes:... :D:D:D

Casimiro Notevi
28-11-2008, 01:30:11
No sé, no sé... me parece que eso traerá más problemas :eek:

egostar
28-11-2008, 01:36:10
No sé, no sé... me parece que eso traerá más problemas :eek:

Ah caray amigo Casimiro, porque ???

Salud OS

Casimiro Notevi
28-11-2008, 02:03:45
Ah caray amigo Casimiro, porque ???

Salud OS

Porque cuando existan varios programadores en un mismo proyecto, unos usarán tildes, otros no, los otros espacios, los otros no, etc.
Además que si entregas el código fuente a otro programador de un país donde se usan caracteres distintos, tildes distintas, etc. no va a poder ni compilar porque tampoco va a saber qué caracteres escribió originalmente el programador.
Imagina un código fuente de un francés, que tienen varias tildes (agudas, llanas y circunflejas, no recuerdo sus nombres exactos: ` ^), en fin, las ñ, la cedilla ç, etc. en algunos idiomas estarán y en otros no.
En fin, por eso digo: "no sé, no sé...", porque no estoy seguro de si traerá problemas o no :)

xEsk
28-11-2008, 14:05:09
Porque cuando existan varios programadores en un mismo proyecto, unos usarán tildes, otros no, los otros espacios, los otros no, etc.
Además que si entregas el código fuente a otro programador de un país donde se usan caracteres distintos, tildes distintas, etc. no va a poder ni compilar porque tampoco va a saber qué caracteres escribió originalmente el programador.
Imagina un código fuente de un francés, que tienen varias tildes (agudas, llanas y circunflejas, no recuerdo sus nombres exactos: ` ^), en fin, las ñ, la cedilla ç, etc. en algunos idiomas estarán y en otros no.
En fin, por eso digo: "no sé, no sé...", porque no estoy seguro de si traerá problemas o no :)

Esto me paso en un proyecto en Java (el cual soporta desde siempre o casi siempre los caracteres "raros"), al abrir el proyecto, una parte del código eran todo simbolos raros (por culpa de la codificación)... tardamos mas en ponerlo bien que en usarlo xD

Por suerte, solo fue un caso aislado, tanto lo de los caracteres raros como lo de trabajar con Java xD

Saludos

donald shimoda
28-11-2008, 15:00:02
No sé, no sé... me parece que eso traerá más problemas :eek:

Coincido, le voy a huir como a la peste. :P

Ademas los identificadores en inglés casi siempre son mas cortos y legibles.

Esto fue un lapsus que termino en un descubrimiento. :p

Saludos

rastafarey
01-12-2008, 13:36:33
Que raro pero es cierto

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm2 = class(TForm)
private
{ Private declarations }
public
Function Más(Const Á, Ó: Integer): Integer;
end;

var
Form2: TForm2;

implementation

{$R *.dfm}

{ TForm2 }

{ TForm2 }

function TForm2.Más(const Á, Ó: Integer): Integer;
begin

end;

end.

El compilador no grita (Delphi 2007 enterprise)

nuk3zito
05-12-2008, 00:37:49
El compilador de Delphi 2006 no tiene problemas al respecto... el que si tiene problemas es el IDE de Delphi 2006.

Eso ya está más que comprobado personalmente y no fue sino por un simple "error" de un programador que decidió llamar a una función de manera acentuada.

Repito, el IDE si respinga... el compilador no (de D2006).

Saludos.

Lord Delfos
05-12-2008, 19:40:35
Pues si mal no recuerdo fue una novedad de Delphi 2007. Ahora no puede encontrar por ningún lado aquel artículo que enumeraba las características que decía que los identificadores iban a soportar esta característica, pero estoy casi casi seguro que fue una de las novedades de D2007.

Con respecto a la práctica, a mi, qué quieren que les diga, me encanta.

¿Porqué? Bueno, ¿Poqrué no? Después de todo hablamos la lengua de Cervantes... Sí es cierto que puede ser un problema en el caso de tener programadores en diferentes países... Aunque en ese caso habrá que hacer todo en un idioma entendible por ambos, no es esperable que el francés llame a sus procedimientos en francés, ni un español en castellano: los dos van a usar inglés. Con o sin acentos el problema existe igual.

Y lo de los errores ortográficos... bueno, cada uno será responsable de escribir como corresponde... Qué sé yo. En definitiva no es más que una convención de código más.

A mí la idea siempre me pareció buena. Incluso me atrevo a decir que me hubiera comprado D2007 sólo por esa característica, si no fuera por el hecho de que para comprar algo hay que pagarlo, y los billetes no crecen en los árboles...:(

Má qué sé yo. A mi me parece bien.

Lepe
05-12-2008, 22:21:44
Pues a mí no me gusta la característica :mad:.

Inconscientemente puedo poner las tildes y leñes, eso no se vé a simple vista, son esos los típicos errores que me desconciertan y me dejan las pocas neuronas que me quedan echando humo. Cierto que cuando eso pasa... es hora de un descansito :D

Saludos

Casimiro Notevi
05-12-2008, 23:06:15
Pues a mí no me gusta la característica :mad:.

Inconscientemente puedo poner las tildes y leñes, eso no se vé a simple vista, son esos los típicos errores que me desconciertan y me dejan las pocas neuronas que me quedan echando humo. Cierto que cuando eso pasa... es hora de un descansito :D

Saludos


A mí tampoco, ya me imagino la situación: "nada, que no funciona y dice syntax error, ¡pero si no hay ningún error!, ... ah!, fíjate, esa manchita en la pantalla, no es una mancha, es una tilde :S " :)... ese es el error :mad: que nos ha tenido todo el día aquí" :):D

egostar
05-12-2008, 23:11:04
Pero amigos, que Delphi no te invalida en el momento mismo que escribes cualquier palabra que escribas ????

Digo, el que tiene faltas de ortografia pues hasta en ingles la va a sufrir :D:D:D

Salud OS

Casimiro Notevi
06-12-2008, 00:35:54
Pero amigos, que Delphi no te invalida en el momento mismo que escribes cualquier palabra que escribas ????

Digo, el que tiene faltas de ortografia pues hasta en ingles la va a sufrir :D:D:D

Salud OS


ya, pero no es por eso, es porque si un compañero escribe con tildes (por ejemplo) y otro compañero escribe sin ellas, la misma variable, dará error, desde luego, pero tienes que fijarte que es eso exactamente, siempre costará más.

iCojin := 1;
iCojín := 1;
iCojìn := 1;
iCojîn := 1;

Tienes que fijarte bien para ver que son 4 variables distintas !!! :o