Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-06-2004
karlita_cb karlita_cb is offline
Miembro
 
Registrado: mar 2004
Posts: 30
Poder: 0
karlita_cb Va por buen camino
Question No sé que pasa con el punto

Hola, tengo en mi programa algo como esto:

s_1 :=copy(cad,1,(pos('.',cad))-1);

y me sale un error de
[Error] Unit1.pas(624): Missing operator or semicolon

pero si este renglón de código lo quito, el programa corre bien. Le he cambiado de varias maneras y he visto que el problema es el punto, porque antes si declaro algo como esto P:='.'; entonces en este renglón tengo el error....

Alguien me podría ayudar???
Responder Con Cita
  #2  
Antiguo 04-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué tiene el renglón anterior? ¿No será en ése donde falta el ';'?

// Saludos
Responder Con Cita
  #3  
Antiguo 04-06-2004
karlita_cb karlita_cb is offline
Miembro
 
Registrado: mar 2004
Posts: 30
Poder: 0
karlita_cb Va por buen camino
Question

No, el renglón anterior tiene esto:

cad:=form1.ComboBox1.Text;

Te digo que el error es el punto que tomo como caracter o cualquier otro...
por ejemplo si pongo p:='a'; igualmente el error lo tiene esta linea. p está declarada como string, entonces no le veo el problema
Responder Con Cita
  #4  
Antiguo 04-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Es muy largo el procedimiento que contiene la línea? ¿No podrías copiar y pegar el código aquí? No lo escribas, copia y pega para verlo exactamente como es.

Eso sí, ponlo entre etiquetas [delphi] por favor.

// Saludos
Responder Con Cita
  #5  
Antiguo 04-06-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
por que no pones todo el trozo de código? Ese error es de ; y seguramente se nos escapa algo
Responder Con Cita
  #6  
Antiguo 05-06-2004
karlita_cb karlita_cb is offline
Miembro
 
Registrado: mar 2004
Posts: 30
Poder: 0
karlita_cb Va por buen camino
Question Aquí va el código

Lo de rojo es mi problemilla...aún si separo el copy del delete el error persiste... Gracias

Código Delphi [-]
 
procedure TForm1.ComboBox1Change(Sender: TObject);
Var
  s_1, s_2, s_3, s_4, cad, sub, Mascara, pu, cad : string;
 i, incremento : integer;

  potencia : array[0..7] of integer;
  mask     : array[0..7] of integer;
begin
 potencia[1]:=   2;
 potencia[2]:=   4;
 potencia[3]:=   8;
 potencia[4]:=  16;
 potencia[5]:=  32;
 potencia[6]:=  64;
 potencia[7]:= 128;

 mask[7]:= 254;
 mask[6]:= 252;
 mask[5]:= 248;
 mask[4]:= 240;
 mask[3]:= 224;
 mask[2]:= 192;
 mask[1]:= 128;
 sub := form1.Combobox1.text;

// de la subred seleccionada busca mascara de sudred
 Red.open;
 //combosubred.Clear;
 while not Red.Eof do
   begin
   if  sub = (Red.Fieldbyname('Subred').asstring) then
     begin
       Mascara := (Red.Fieldbyname('Mascara').asstring);
       Break;
     end;
    Red.Next;
   end;
   Red.close;
 // Segun la mascara es el tamaño de la red
 //compara la mascara y determina el incremento
 i := 1;
 while i <= 6 do
   begin
     if  mask[i] =   strtoint(Mascara) then
     break;
     inc(i);
   end;
   incremento := potencia[i + 1];

 form1.ComboBox2.Clear;
 form1.ComboBox3.clear;
//antes de agregar determinar la posicion
  cad:=form1.ComboBox1.Text;

 
   s_1 :=copy(cad,1,(pos('.',cad))-1); delete(cad,1,(pos('.',cad)));
   s_2 :=copy(cad,1,(pos('.',cad))-1); delete(cad,1,(pos('.',cad)));
   s_3 :=copy(cad,1,(pos('.',cad))-1); delete(cad,1,(pos('.',cad)));
   s_4 := cad;
  // e :=  strtoint(_subred_4) ;
  if  strtoint(_subred_4)  = 0 then
    begin
      for  i := 2  to (254) do
        begin
          ComboBox2.Items.Add(_subred_1 + '.' + _subred_2 + '.' + _subred_3  + '.' +inttostr(i));
          ComboBox3.Items.Add(_subred_1 + '.' + _subred_2 + '.' + _subred_3  + '.' +inttostr(i));
        end;
     exit
   end
   else
  begin
   for  i := strtoint(_subred_4)+ 1 to (strtoint(_subred_4) + (incremento - 1)) do
       begin
      ComboBox2.Items.Add(_subred_1 + '.' + _subred_2 + '.' + _subred_3  + '.' + inttostr(i));
      ComboBox3.Items.Add(_subred_1 + '.' + _subred_2 + '.' + _subred_3  + '.' + inttostr(i));
     end;
      exit
   end;

end.

Última edición por roman fecha: 05-06-2004 a las 00:06:06. Razón: Colocar etiqueta [delphi] para mejor formato
Responder Con Cita
  #7  
Antiguo 05-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Tengo dudas de que éste sea el código exacto. En la declaración

Código Delphi [-]
Var
  s_1, s_2, s_3, s_4, cad, sub, Mascara, pu, cad : string;

aparece dos veces el identificador cad y el compilador debió detenerse ahí antes de las líneas en rojo.
Responder Con Cita
  #8  
Antiguo 05-06-2004
karlita_cb karlita_cb is offline
Miembro
 
Registrado: mar 2004
Posts: 30
Poder: 0
karlita_cb Va por buen camino
Unhappy yA LO MODIFIQUÉ

s_1, s_2, s_3, s_4, cad, sub, Mascara, pu, cad1 : string;
i, incremento : integer;
Y EL ERROR ESTÁ EXACTAMENTE EN EL MISMO LUGAR
Responder Con Cita
  #9  
Antiguo 05-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lightbulb

Ahí te va una hipótesis descabellada:

Creo que en algún lugar tienes declarada una variable de nombre pos.

Acabo de hacer la prueba de añadir una variable con dicho nombre y, claro, el compilador protesta con: "Missing operator or semicolon" porque pos ya no corresponde a la función sino a la variable.

Revisa y me cuentas.
Responder Con Cita
  #10  
Antiguo 05-06-2004
karlita_cb karlita_cb is offline
Miembro
 
Registrado: mar 2004
Posts: 30
Poder: 0
karlita_cb Va por buen camino
Talking muchas gracias

Efectivamente tenía un objeto Ttable con ese nombre, ya lo modifiqué y todo salió a la perfección... muchas muchas gracias
Responder Con Cita
  #11  
Antiguo 05-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Oye karlita, no seas malita y hazme un favor: la próxima vez que pongas código utiliza la etiqueta [delphi]. Fíjate que edité tu mensaje para que se pudiera leer mejor el código. Si quieres ver cómo se usa sólo dale al botón "Editar" de dicho mensaje.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:22:46.


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
Copyright 1996-2007 Club Delphi