C/Visual C - ejecutable que edite un txt

 
Vista:
Imágen de perfil de Juanma

ejecutable que edite un txt

Publicado por Juanma (6 intervenciones) el 21/01/2024 12:21:16
Buenas a todos,

Primeramente no se muy bien si este es el foro adecuado, pero tengo entendido que c es el lenguaje mas sencillo para crear un pequeño ejecutable, y creo que lo que yo quiero no debe ser muy complicado para alguien que sepa programar en c, y generar un ejecutable. A ver si alguien es tan amable de ayudarme,

necesitaría un programita que haga lo siguiente:

seleccione un archivo con terminación .xpi (es básicamente un txt con la extensión cambiada)

te pida una altura H(numero entero)

edite el archivo reemplazando lo siguiente:

buscar: M120

reemplazar por:

M120
E30120=H (donde H sería la altura introducida)

buscar: M27

reemplazar por:

M27
E30120=H (donde H sería la altura introducida)

buscar: M28

reemplazar por:

M28
E30120=H (donde H sería la altura introducida)

si es necesario, serviría cambiar la extensión a .txt para editar y luego volver a cambiarla, o también cambiarla a mano, y usar el programa ya con un txt.

Básicamente la idea es añadir esa linea (E30120=H) detrás de las líneas M120, M27 y M28
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

ejecutable que edite un txt

Publicado por SuperIndio (42 intervenciones) el 23/01/2024 14:23:48
Bajo que plata form lo vas a ejecutar? Windows o Linux?
Si es bajo Linux eso es mas facil hacerllo con un shellScript
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
Imágen de perfil de Juanma

ejecutable que edite un txt

Publicado por Juanma (6 intervenciones) el 23/01/2024 18:27:10
Bajo Windows
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

ejecutable que edite un txt

Publicado por Superindio (42 intervenciones) el 24/01/2024 23:58:41
Podes pegar una porcion de lineas del contenido del archivo .xpi?
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
Imágen de perfil de Juanma

ejecutable que edite un txt

Publicado por Juanma (6 intervenciones) el 26/01/2024 19:33:11
Si,, aquí va un ejemplo, son archivos tipo gcode pero para mesas de corte

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
%100.0 () ()
G90
G54
M100
(MATERIAL : ACERO, )
M120
N1 G00 X160 Y27.94
M77
G00 X160 Y27.94
M7
G01 X10 Y27.94
M9
M121
M28
N2 G00 X100.773 Y100.773
M77
G00 X100.773 Y100.773
M7
M133
D2
G41
G01 X109.259 Y109.259
G03 X60.741 Y60.741 I85 J85
G03 X109.259 Y109.259 I85 J85
G40
M9
N3 G00 X160 Y169.72
M77
G00 X160 Y169.72
M7
M133
D1
G41
G01 X160 Y160
G01 X160 Y10
G01 X10 Y10
G01 X10 Y160
G01 X160 Y160
G40
M9
M10
M02
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

ejecutable que edite un txt

Publicado por SuperIndio (42 intervenciones) el 07/02/2024 20:13:15
Ahhhh es codigo deL tipo usado en CNC... bueno aguarda 1 par de dias que ahi hago algo.
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

ejecutable que edite un txt

Publicado por SuperIndio (42 intervenciones) el 09/02/2024 22:10:49
Este funciona solo que hy que ponerle un escape para la linea 1 donde [%] se altera porque considera que es una variable

pero el resto funciona

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
@Echo Off
Rem
Rem ****************************************************************
Rem S I N T A X I S
Rem ***************
Rem BuyRem [Nomfile.xpi] Altura1 Altura2 Altura3
Rem
Rem E j e m p l o
Rem ***************
Rem
Rem BuyRem m120.xpi 21 33 43
Rem
Rem ****************************************************************
Rem
Set FILECNC=%1
Set FILENEW=%FILECNC%.tx2
Set ALT27=%2
Set ALT28=%3
Set ALT120=%4
 
setlocal enabledelayedexpansion
Rem  Esta linea permite el retraso de expansion de la variable de entorno hasta que encuentra endlocal
Rem
Rem BuyRem m120.xpi 43 45 543
Rem ****************************************************************
Rem buscar: M120
Rem reemplazar por:
Rem M120
Rem E30120=H (donde H sería la altura introducida)
Rem ****************************************************************
Rem buscar: M27
Rem reemplazar por:
Rem M27
Rem E30120=H (donde H sería la altura introducida)
Rem ****************************************************************
Rem buscar: M28
Rem reemplazar por:
Rem M28
Rem E30120=H (donde H sería la altura introducida)
Rem ****************************************************************
Rem  Set "%1%"=
 
IF "%~1" == "" GOTO Sintaxis
 
IF NOT EXIST %FILECNC% (
    Echo EL ARCHIVO %FILECNC%  NO EXISTE
    goto :EOF
 )
Del %FILENEW%
 
rem FOR /F %%a in (%FILECNC%) do (
Rem FOR /F "delims=·" %%A IN (%FILECNC%) DO (
FOR /f "tokens=*" %%A in (%FILECNC%) DO (
    Call :CheckWord "%%A"
)
goto :EOF
 
Rem ****************************************************************
:Sintaxis
Echo S I N T A X I S
Echo ***************
Echo           BuyRem [Nomfile.xpi] Altura1 Altura2 Altura3
Echo:
Echo E j e m p l o
Echo ***************
Echo:
Echo           BuyRem m120.xpi 21 33 43
goto :EOF
 
Rem ****************************************************************
:CheckWord
   Set ccWord=%~1
   echo %ccWord% >> %FILENEW%
   if "%ccWord%"  == "M27" (
        echo E30120=%ALT27% >> %FILENEW%
      )
   if "%ccWord%"  == "M28" (
        echo E30120=%ALT28% >> %FILENEW%
      )
   if "%ccWord%"  == "M120" (
        echo E30120=%ALT120% >> %FILENEW%
      )
:EOF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Juanma

ejecutable que edite un txt

Publicado por Juanma (6 intervenciones) el 22/02/2024 20:50:02
Muchas gracias por tu aporte,
pero he intentado buscar como compilarlo para crear el ejecutable, y no me resulta nada fácil. aparte de que no se muy bien cual es el símbolo que hay que cambiar en la primera línea.
te agradecería si me puedes pasar el archivo compilado, o al menos decirme un ide básico para seguir un tutorial y compilarlo yo ( hace mucho que no programo nada que tenga que compilar, solo rutinas lisp para autocad)
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

ejecutable que edite un txt

Publicado por superIndio (42 intervenciones) el 22/02/2024 21:01:54
No no hay que compilarlo solo hay que ejecutarlo en modo consola
abrir una ventana cmd y ejeuta por linea de comando asi

1
BuyRem m120.xpi 21 33 43

donde m120.xpi es el archivo

21 altura 1
33 altura 2
43 altura 3
te va a generar un archivo, nuevo, fijate el que el archivo de entrada este en el mismo directorio donde va a estar el .BAT
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
Imágen de perfil de Juanma

ejecutable que edite un txt

Publicado por Juanma (6 intervenciones) el 22/02/2024 21:26:39
a ver si lo he entendido bien,

copio y pego esas líneas en un txt, y lo llamo, altura.bat por ejemplo?
luego lo busco por consola, y lo ejecuto, y debería pedirme los datos por consola, que yo tengo que poner en la misma linea?
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

ejecutable que edite un txt

Publicado por SuperIndio (42 intervenciones) el 22/02/2024 22:54:26
1) copiar el codigo
2) abrir un editor tipo notepad
3) pegar y y guardar como byrem.bat ( NO COMO .TXT )
4) abrir un cmd console (keywin+r) --> cmd <enter>
5) posicionarse en el directorio donde guardaste con el comando cd ( ej: cd c:\carpeta\carpeta\ )
6) ejecutar el programna byrem pasando por parametros nombre del archio y 3 numeros que son la altura para cada uno altera1 altura2 altura3
...
si no podes hacer eso no chau
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Juanma

ejecutable que edite un txt

Publicado por Juanma (6 intervenciones) el 23/02/2024 13:17:34
Genial, yo estaba haciéndolo en dos veces, intentaba primero ejecutar y luego meter las variables
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