Pascal/Turbo Pascal - error 26: type mismatch

 
Vista:
sin imagen de perfil

error 26: type mismatch

Publicado por Chema (5 intervenciones) el 28/08/2014 06:31:14
Hola no se por que me sale este error, espero que me puedan ayudar...la cosa es:

Procedure oconcantenar (var rpalabra1:string;rpalabra 2:string);

....

Cuerpo principal
Var
Palabra1,palabra2:string[50];

Begin
Palabra1:=hola;
Palabra2:=buen día;
oconcatenar(palabra1,palabra2);

Hay entre palabra1 y palabra2 se pone el puntero con el error..
....... Por favor y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

error 26: type mismatch

Publicado por ramon (39 intervenciones) el 28/08/2014 12:40:52
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{Mira esto es concadenar en pascal}
 
uses
   crt;
 var
    palabra1, palabra2 : string[50];
    resultado : string;
 
  begin
     clrscr;
     palabra1 := 'Esto Funciona ';
     palabra2 := 'O no';
     resultado := Concat(palabra1, palabra2);
     writeln(resultado);
     readkey;
  end.
 
{Si lo que quieres es realizar ti propia procedure seria de otra forma asi}
 
uses
   crt;
 var
    palabra1, palabra2 : string[50];
    resultado : string;
 
  begin
     clrscr;
     palabra1 := 'Esto Funciona ';
     palabra2 := 'O no';
     resultado := palabra1 + palabra2;
     writeln(resultado);
     readkey;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error 26: type mismatch

Publicado por chema (5 intervenciones) el 28/08/2014 21:40:31
Lo que pasa es que mi prof. mando a hacer con funciones y procedimientos unas funciones predefinidas en pascal.. con algunas especificaciones:

un procedimiento que concatenara dos palabras y que la palabra concatenada la devuelva en la palabra 1.
una funcion que calcule la longitud de una palabra.
un procedimiento que compare dos palabras, devuelva 0 si son iguales, n<0 si la palabra 1 es menor a la palabra 2, n>0 si la palabra 1 es mayor que la 2.
un procedimiento que extraiga una palabra de otra.
la de longitud si me corria bien..
pero luego me dice error en los parametros de procedimiento concatenar y comparar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error 26: type mismatch

Publicado por ramon (39 intervenciones) el 29/08/2014 23:11:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{Mira si esto sirve}
 
 program cadenas;
   uses
      crt;
   type
      string50 = string[50];
 
 
  var
    caden1 : string50;
    dt : integer;
 
 
  function longitud(c : string50) : integer;
  begin
       longitud := ord(c[0]);
    end;
 
  procedure concadena(var d : string50; c : string50);
  begin
     d := d + c;
  end;
 
  procedure compara(pal1, pal2 : string50);
  var
    p, u, l, dh : integer;
  begin
    l := longitud(pal1);
    u := longitud(pal2);
    if u > l then
    write('    n < 0');
    if u < l then
    write('    n > 0');
    if u = l then
    write('    n = 0');
  end;
 
  procedure estraepalabra(var pal : string50;cad : string50;frase : string50);
  var
    g, c, n, j : integer;
    busq : string50;
    sal : boolean;
    begin
       n := 1;
       j := 0;
       g := 1;
       c := longitud(cad);
       sal := false;
       for j := 1 to 50 do
       busq[j] := ' ';
     repeat
        if cad[n] <> ' ' then
        begin
        busq[g] := cad[n];
        busq[0] := chr(g);
        g := g + 1;
        end
     else
        begin
           if busq = frase then
           begin
           pal := busq;
           sal := true;
           end;
           for j := 1 to 50 do
           busq[j] := ' ';
           g := 1;
        end;
          n := n + 1;
     until (n > c) or (sal = true);
    end;
 
 
 
  begin
     clrscr;
     caden1 := 'El perro';
     concadena(caden1,' mistico ');
     writeln('    ',caden1);
     for dt := 1 to 50 do
     caden1[dt] := ' ';
     compara(caden1,' de ramon');
     writeln;
     estraepalabra(caden1,'ramon tenia un perro','tenia');
     writeln('    ',caden1);
     readkey;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar