|
Mostrar Temas
|
Páginas: [1]
|
1
|
Programacin / Programacin C/C++ / Ayuda con archivo binario, por favor.
|
en: 20 Abril 2011, 18:41 pm
|
Pues tengo un problema algo raro, y esque tengo la cabeza echa polvo de las vueltas que le e dado, xd, a ver si alguien fuera tan amable de resolverme este problema, que seguro sera una tonteria, pero ya me rindo de las vueltas que le e dado. Mejor una imagen. Lo de arriba es la salida de pantalla de consola, y lo de abajo es el archivo ya creado, como podeis ver, me invierte los bytes, xd, esta es la forma que escribo en el archivo. fwrite ( (unsigned char*) &data, 1, sizeof(data ), fd );
Los datos que salen por consola, son exactamente los que necesito ir metiendo en el archivo, osea que sacarlos los saca bien, es a la hora de escribirlo en el archivo bin, donde no hay manera. Pues a ver si me podeis echar una manita, por favor. gracias y saludos.
|
|
|
2
|
Programacin / .NET (C#, VB.NET, ASP) / Una ayuda com codigo para .exe, por favor.
|
en: 21 Diciembre 2009, 00:04 am
|
Vereis llevo un tiempo haciendo un bat, para manipular detos de un modem. Tengo que hacer varias cosas, que las tengo ya resueltas, pero lo ultimo es sacar unos datos de la flash del modem. Esto no se puede hacer com batch y tengo entendido que tiene que hacerse com java, por lo que tengo leido para usar java es mejor com visualbasic y por eso estoy intentando usar este codigo que os pongo. Imports System Public Class Prueba Public Shared Sub Main() Public Sub New() Me.components = Nothing Me.connected = False Me.port = &H17 Me.raf = Nothing Me.bis = Nothing Me.ps = Nothing Me.skt = Nothing Dim num As Integer = 5 If (num < 0) Then Throw New NegativeArraySizeException End If Dim textArray1 As String() = New String(num - 1) {} textArray1(3) = "perm" Me.im = textArray1 Me.InitializeComponent End Sub Public Overridable Sub connection(ByVal b As Boolean) Me.connected = b Me.hostname.set_Enabled((b Xor True)) If Not b Then Try Me.skt.close Catch obj1 As Object When (?) Dim throwable As Throwable Dim exception As Exception = throwable End Try Try Me.raf.Close Catch obj2 As Object When (?) Dim throwable2 As Throwable Dim exception2 As Exception = throwable2 End Try End If End Sub Public Overridable Function openFlash(ByVal s As String) As Boolean Me.send2Serial("cd /flash" & ChrW(13)) Try Thread.sleep(500) Catch obj1 As Object When (?) Dim throwable As Throwable Dim exception As Exception = throwable End Try Me.send2Serial("close" & ChrW(13)) Try Thread.sleep(500) Catch obj2 As Object When (?) Dim throwable2 As Throwable Dim exception2 As Exception = throwable2 End Try Me.send2Serial(New StringBuffer().append("open ").append(s).append(ChrW(13)).ToString) Select Case Me.wait4("Flash driver opened", "ERROR - failed to o", Nothing, Nothing, Nothing) Case -1 Return False Case 2 Me.cout("ERROR: Unable to open the flash driver.") Me.cout("You need to reboot the modem.") Return False End Select Me.cout("Flash driver Opened.") If (Me.wait4("CM/Flash> ", Nothing, Nothing, Nothing, Nothing) Is -1) Then Return False End If Me.cout(New StringBuffer().append("Flash Device Ready (").append(s).append(" region)").ToString) Return True End Function Public Overridable Sub readFlash(ByVal s As String) If Not Me.openFlash(s) Then Return End If Dim stream As FileOutputStream = Nothing Dim flag As Boolean = False Try stream = New FileOutputStream(New StringBuffer().append(s).append(".bin").ToString) If (Not stream Is Nothing) Then flag = True End If Catch obj1 As Object When (?) Dim throwable As Throwable Dim exception As Exception = throwable End Try If Not flag Then Me.cout(New StringBuffer().append("Error opening local file ").append(s).append(".bin for writing").ToString) Return End If Me.cout(New StringBuffer().append("Reading ").append(s).append(" Flash region").ToString) Dim num As Integer = 0 Dim num2 As Integer = 0 Label_0249: Do While flag Dim str As String = "" Me.send2Serial(New StringBuffer().append("readDirect 256 ").append(num).append(ChrW(13)).ToString) If (Me.wait4("region:", Nothing, Nothing, Nothing, Nothing) Is -1) Then flag = False Exit Do End If Do While flag Dim num3 As Integer = Me.getSerialByte If (num3 Is -1) Then Me.cout("Communication Error") flag = False goto Label_0249 End If If ((((num2 < &H100) AndAlso (num3 >= &H30)) AndAlso (num3 <= &H39)) OrElse ((num3 >= &H61) AndAlso (num3 <= &H66))) Then str = New StringBuffer().append(str).append(DirectCast(num3, Char)).ToString If (StringImpl.length(str) Is 2) Then Dim num4 As Integer = Integer.parseInt(str, &H10) Try stream.write(num4) Catch obj2 As Object When (?) Dim throwable2 As Throwable Dim exception2 As Exception = throwable2 End Try str = "" num2 += 1 Continue Do End If End If Select Case num3 Case &H42 Me.cout(New StringBuffer().append("Flash read of ").append(s).append(" region is complete. Output to file: ").append(s).append(".bin").ToString) Me.send2Serial("close" & ChrW(13)) flag = False goto Label_0249 Case &H43 Do While (Not Me.getSerialByte Is &H3E) Loop num = (num + &H100) num2 = 0 Me.cout(New StringBuffer().append("Read ").append(num).append(" bytes").ToString) goto Label_0249 End Select Loop Loop Try stream.close Catch obj3 As Object When (?) Dim throwable3 As Throwable Dim exception3 As Exception = throwable3 End Try End Sub Public Overridable Function wait4(ByVal w1 As String, ByVal w2 As String, ByVal w3 As String, ByVal w4 As String, ByVal w5 As String) As Integer Dim str As String = "" Dim i As Integer For i = 0 To StringImpl.length(w1) - 1 str = New StringBuffer().append(str).append(" ").ToString Next i Do Dim num2 As Integer = Me.getSerialByte If (num2 Is -1) Then Return num2 End If str = New StringBuffer().append(StringImpl.substring(str, 1)).append(DirectCast(num2, Char)).ToString If StringImpl.equals(str, w1) Then Return 1 End If If ((Not w2 Is Nothing) AndAlso StringImpl.equals(str, w2)) Then Return 2 End If If ((Not w3 Is Nothing) AndAlso StringImpl.equals(str, w3)) Then Return 3 End If If ((Not w4 Is Nothing) AndAlso StringImpl.equals(str, w4)) Then Return 4 End If Loop While ((w5 Is Nothing) OrElse Not StringImpl.equals(str, w5)) Return 5 End Function Console.Read End Sub End Class
Esto que os pongo som recortes que e ido pegando, que creo hace lo que necesito, pero como vereis, le sobraran cosas y le faltaran seguro. Pues si alguien tiene tiempo de hecharle una mirada a este codigo, se lo agredeseria mucho. Yo lo unico que necesito es que al ejecutar el exe. saque lo que necesito sin mas, osea sin preguntar nada, ejecutar y funcionar. un saludo
|
|
|
3
|
Programacin / Scripting / Ayuda com archivo de texto, por favor.[Solucionado]
|
en: 14 Diciembre 2009, 20:09 pm
|
Llevo mucho tiempo liado com un bat, para manipular archivos binarios, osea com bytes. He tenido muchos trompiesos y ya solo me queda uno por resolver, a ver si alquien sabria ayudarme, ya que no se donde leer mas, ni como solucionar este poblema. Tengo archivos como he dicho antes asin. AA BB CC DD EE FF AA BB CC DD EE FF Y necesito ponerlo asin, para pasarlos a un archivo bin. AA BB CC DD EE FF AA BB CC DD EE FF Lo que necesito es que los bytes, esten correlativos y no de linea en linea. Vereis si fueran pocos bytes, pues se podria hacer a mano, pero estoy manejando miles de bytes, por eso estoy com el bat liado, para manipularlos. Se que primero tengo que hacer algo como esto. @echo off setlocal enabledelayedexpansion for /f "tokens=1" %%_ in ('type "file.txt" ^| find /v /c ""') do (set "lineas=%%_" set /a "contador=0" for /f "eol= tokens=* delims=" %%_ in (file.txt) do ( set /a "contador+=1" set "linea!contador!=%%_" ) Pero como puedo seguir, una manita o alguna idea, que estoy bastante harto ya de este bat. saludos
|
|
|
4
|
Programacin / Scripting / transformar HEX a ACSII en bat, es posible?
|
en: 8 Diciembre 2009, 20:52 pm
|
Vereis llevo mucho tiempo liado com este bat y ya no se donde leer mas, o si es posible lo que yo necesito o no. Tengo unos archivos de texto que estan en HEX, y cuando los manipule, necesito pasarlos a ACSII, para poder convertirlos en bin, ya que para meterlos en el la flash del aparato, pues tienen que ser bin, claro. En mi loca aventura, pues no se me a ocurrido, namas que hacerme yo mismo un convertidor a acssi, osea esto. @echo off setlocal enabledelayedexpansion for /f "tokens=* delims=" %%x in ('type texto1.txt') do ( set linea=%%x set linea=!linea:00=.! set linea=!linea:01=! set linea=!linea:02=! set linea=!linea:03=! set linea=!linea:04=! set linea=!linea:05=! set linea=!linea:06=! set linea=!linea:07=! set linea=!linea:08=! set linea=!linea:09= ! set linea=!linea:0A=.! set linea=!linea:0B=.! set linea=!linea:0C=.! set linea=!linea:0D=.! set linea=!linea:0E=! set linea=!linea:0F=! set linea=!linea:10=! set linea=!linea:11=! set linea=!linea:12=! set linea=!linea:13=! set linea=!linea:14=! set linea=!linea:15=! set linea=!linea:16=! set linea=!linea:17=! set linea=!linea:18=! set linea=!linea:19=! set linea=!linea:1A=.! set linea=!linea:1B=! set linea=!linea:1C=! set linea=!linea:1D=! set linea=!linea:1E=! set linea=!linea:1F=! set linea=!linea:20=^! set linea=!linea:21=.! set linea=!linea:22="! set linea=!linea:23=#! set linea=!linea:24=$! set linea=!linea:25=.! set linea=!linea:26=.! set linea=!linea:27='! set linea=!linea:28=(! set linea=!linea:29=^)! set linea=!linea:2A=*! set linea=!linea:2B=+! set linea=!linea:2C=,! set linea=!linea:2D=-! set linea=!linea:2E=.! set linea=!linea:2F=.! set linea=!linea:30=0! set linea=!linea:31=1! set linea=!linea:32=2! set linea=!linea:33=3! set linea=!linea:34=4! set linea=!linea:35=5! set linea=!linea:36=6! set linea=!linea:37=7! set linea=!linea:38=8! set linea=!linea:39=9! set linea=!linea:3A=:! set linea=!linea:3B=;! set linea=!linea:3C=.! set linea=!linea:3D==! set linea=!linea:3E=.! set linea=!linea:3F=?! set linea=!linea:40=@! set linea=!linea:41=A! set linea=!linea:42=B! set linea=!linea:43=C! set linea=!linea:44=D! set linea=!linea:45=E! set linea=!linea:46=F! set linea=!linea:47=G! set linea=!linea:48=H! set linea=!linea:49=I! set linea=!linea:4A=J! set linea=!linea:4B=K! set linea=!linea:4C=L! set linea=!linea:4D=M! set linea=!linea:4E=N! set linea=!linea:4F=O! set linea=!linea:50=P! set linea=!linea:51=Q! set linea=!linea:52=R! set linea=!linea:53=S! set linea=!linea:54=T! set linea=!linea:55=U! set linea=!linea:56=V! set linea=!linea:57=W! set linea=!linea:58=X! set linea=!linea:59=Y! set linea=!linea:5A=Z! set linea=!linea:5B=[! set linea=!linea:5C=\! set linea=!linea:5D=]! set linea=!linea:5E=.! set linea=!linea:5F=_! set linea=!linea:60=`! set linea=!linea:61=a! set linea=!linea:62=b! set linea=!linea:63=c! set linea=!linea:64=d! set linea=!linea:65=e! set linea=!linea:66=f! set linea=!linea:67=g! set linea=!linea:68=h! set linea=!linea:69=i! set linea=!linea:6A=j! set linea=!linea:6B=k! set linea=!linea:6C=l! set linea=!linea:6D=m! set linea=!linea:6E=n! set linea=!linea:6F=o! set linea=!linea:70=p! set linea=!linea:71=q! set linea=!linea:72=r! set linea=!linea:73=s! set linea=!linea:74=t! set linea=!linea:75=u! set linea=!linea:76=v! set linea=!linea:77=w! set linea=!linea:78=x! set linea=!linea:79=y! set linea=!linea:7A=z! set linea=!linea:7B={! set linea=!linea:7C=^|! set linea=!linea:7D=}! set linea=!linea:7E=~! set linea=!linea:7F=! set linea=!linea:80=! set linea=!linea:81=! set linea=!linea:82=! set linea=!linea:83=! set linea=!linea:84=! set linea=!linea:85=! set linea=!linea:86=! set linea=!linea:87=! set linea=!linea:88=! set linea=!linea:89=! set linea=!linea:8A=! set linea=!linea:8B=! set linea=!linea:8C=! set linea=!linea:8D=! set linea=!linea:8E=! set linea=!linea:8F=! set linea=!linea:90=! set linea=!linea:91=! set linea=!linea:92=! set linea=!linea:93=! set linea=!linea:94=! set linea=!linea:95=! set linea=!linea:96=! set linea=!linea:97=! set linea=!linea:98=! set linea=!linea:99=! set linea=!linea:9A=! set linea=!linea:9B=! set linea=!linea:9C=! set linea=!linea:9D=! set linea=!linea:9E=! set linea=!linea:9F=! set linea=!linea:A0= ! set linea=!linea:A1=! set linea=!linea:A2=! set linea=!linea:A3=! set linea=!linea:A4=! set linea=!linea:A5=! set linea=!linea:A6=! set linea=!linea:A7=! set linea=!linea:A8=! set linea=!linea:A9=! set linea=!linea:AA=! set linea=!linea:AB=! set linea=!linea:AC=! set linea=!linea:AD=! set linea=!linea:AE=! set linea=!linea:AF=! set linea=!linea:B0=! set linea=!linea:B1=! set linea=!linea:B2=! set linea=!linea:B3=! set linea=!linea:B4=! set linea=!linea:B5=! set linea=!linea:B6=! set linea=!linea:B7=! set linea=!linea:B8=! set linea=!linea:B9=! set linea=!linea:BA=! set linea=!linea:BB=! set linea=!linea:BC=! set linea=!linea:BD=! set linea=!linea:BE=! set linea=!linea:BF=! set linea=!linea:C0=! set linea=!linea:C1=! set linea=!linea:C2=! set linea=!linea:C3=! set linea=!linea:C4=! set linea=!linea:C5=! set linea=!linea:C6=! set linea=!linea:C7=! set linea=!linea:C8=! set linea=!linea:C9=! set linea=!linea:CA=! set linea=!linea:CB=! set linea=!linea:CC=! set linea=!linea:CD=! set linea=!linea:CE=! set linea=!linea:CF=! set linea=!linea:D0=! set linea=!linea:D1=! set linea=!linea:D2=! set linea=!linea:D3=! set linea=!linea:D4=! set linea=!linea:D5=! set linea=!linea:D6=! set linea=!linea:D7=! set linea=!linea:D8=! set linea=!linea:D9=! set linea=!linea:DA=! set linea=!linea:DB=! set linea=!linea:DC=! set linea=!linea:DD=! set linea=!linea:DE=! set linea=!linea:DF=! set linea=!linea:E0=! set linea=!linea:E1=! set linea=!linea:E2=! set linea=!linea:E3=! set linea=!linea:E4=! set linea=!linea:E5=! set linea=!linea:E6=! set linea=!linea:E7=! set linea=!linea:E8=! set linea=!linea:E9=! set linea=!linea:EA=! set linea=!linea:EB=! set linea=!linea:EC=! set linea=!linea:ED=! set linea=!linea:EE=! set linea=!linea:EF=! set linea=!linea:F0=! set linea=!linea:F1=! set linea=!linea:F2=! set linea=!linea:F3=! set linea=!linea:F4=! set linea=!linea:F5=! set linea=!linea:F6=! set linea=!linea:F7=! set linea=!linea:F8=! set linea=!linea:F9=! set linea=!linea:FA=! set linea=!linea:FB=! set linea=!linea:FC=! set linea=!linea:FD=! set linea=!linea:FE=! set linea=!linea:FF=.! call :show !linea! ) goto:eof :show echo %* >> texto2.txt goto:eof Ya se que esto esta mal hecho, pero me lo he currado de gordo, dos dias para eso que os pongo, espero le sirva a alguien, xd. Como veis faltan muchos caracteres y es porque en un bat, no se pueden poner, osea la consola de msdos los interpreta como suyos y hasta aqui hemos llegado. Segun tengo leido, tiene que hacerse por java o algo asin. Pues mi problema es ese, si alguien me puede ayudar a convertir archivos de texto de HEX a ACSII, pues se lo agradecera mucho. Aunque fuera en vbs, y que desde un bat ejecutarlo o algo asin. Aunque voy a hacer este post algo largo, queria dejar claro lo que necesito. Yo tengo un archivo de texto asin. 68 a1 22 a3 00 e3 18 d9 a7 9e c5 e9 c2 9b 6c f3 1c df 27 92 8e aa ab c5 d4 e4 b0 15 bb df f6 7e 89 03 bd cd 87 a8 e9 ac f1 79 c2 d6 ac 8c 37 f5 99 75 9e 4e 5d e9 20 22 87 e9 46 28 11 ba ea 5c 2c 3f f8 9b a9 a0 b5 fd a5 5b cd 2f 9c 01 64 9e 04 5f 54 54 9d 83 ca 52 fb 5b 15 83 3f b1 1c 9d a7 ca e6 61 a4 88 78 80 3b be cc 95 74 21 02 41 00 fe 37 a7 11 b1 0a 69 6b 85 c8 28 74 d5 03 c6 Cuando lo manipule, necesito ponerlo asin, para poder pasarlo a un archivo bin. 68 a1 22 a3 00 e3 18 d9 a7 9e c5 e9 c2 9b 6c f3 | h."...........l. 1c df 27 92 8e aa ab c5 d4 e4 b0 15 bb df f6 7e | ..'............~ 89 03 bd cd 87 a8 e9 ac f1 79 c2 d6 ac 8c 37 f5 | .........y....7. 99 75 9e 4e 5d e9 20 22 87 e9 46 28 11 ba ea 5c | .u.N]. "..F(...\ 2c 3f f8 9b a9 a0 b5 fd a5 5b cd 2f 9c 01 64 9e | ,?.......[./..d. 04 5f 54 54 9d 83 ca 52 fb 5b 15 83 3f b1 1c 9d | ._TT...R.[..?... a7 ca e6 61 a4 88 78 80 3b be cc 95 74 21 02 41 | ...a..x.;...t!.A 00 fe 37 a7 11 b1 0a 69 6b 85 c8 28 74 d5 03 c6 | ..7....ik..(t... Pues si alguien save lo que necesito, se lo agradecera mucho. saludos
|
|
|
5
|
Programacin / Scripting / Bat que no funciona al compilarlo
|
en: 28 Noviembre 2009, 11:13 am
|
Hola de nuevo, otra preguntita. Vereis hace unos dias me baje de aqui un codigo de una maquina de escribir, este. @echo off echo. echo. echo. echo. echo. call:tpwrtr AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA call:sleep 2 echo. echo. call:tpwrtr BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB call:sleep 2 echo. echo. call:tpwrtr CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC call:sleep 2 echo. echo. call:tpwrtr DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD call:sleep 2 pause>nul goto:eof :tpwrtr set palabra=%* if not defined palabra (goto:eof) set palabra=%palabra: =_% call:length %palabra% set /a contt=0 :loopt call :tpwrtr1 %%palabra:~%contt%,1%% set /a contt +=1 if %contt% leq %tam% (goto:loopt) goto:eof :tpwrtr1 set char=%1 if [%char%]==[_] (set char= ) <nul (set /p msg=%char%) ping -n 1 127.0.0.0 -w 1>nul 2>&1 goto:eof :length set argl=%* if not defined argl (goto :eof) set wordl=%argl% set /a contl=0 :loopl if not defined wordl (goto endl) set wordl=%wordl:~1% set /a contl +=1 goto loopl :endl set tam=%contl% goto :eof :sleep if "%1"=="" (goto :eof) set /a limit=0 set /a limit=%1 if %limit% LEQ 0 (goto :eof) set /a cont=0 :time set mirror1=%time:~-4,1% :increment set mirror2=%time:~-4,1% if not %mirror2%==%mirror1% (goto count) goto increment :count set /a cont +=1 if "%cont%"=="%limit%" (goto :eof) goto time goto :eof El autor me tiene que perdonar, pero no recuerdo su nombre. Estoy haciendo un bat, que hace varias cosas y habia pensado que para ponerlo mas bonito y mas parecido a un programa, pues entre comando y comando ir poniendo comentarios de lo que estaba haciendo en cada momento. El resultado es que funciona perfectamente, pero al compilarlo ya no funcina, ni el bat ni el codigo que os pongo mas arriba, osea realiza todo lo demas pero la parte de la escritura, no hace nada de nada. En fin, pues esa era la pregunta, que si veis algo raro en el codigo o si saveis porque sucede eso, ya que me interesaria compilar mi bat y ponerlo lo mas bonito posible. Gracias y un saludo
|
|
|
6
|
Programacin / Scripting / Acentos en bat
|
en: 18 Noviembre 2009, 19:05 pm
|
Hola de nuevo. Vereis necesito para un bat que estoy haciendo, poner la ip en manual, asin. netsh interface ip set address "Conexiones de red inalmbricas" static XXXXXXXXXX 255.255.255.0 192.168.100.1 1. Como podeis ver inalmbrica tiene un acento, seguro que esto lo hableis explicado en algun sitio pero no lo encuentro. Si mando el comando por consola directamente, no tengo problema, pero al mandarlo desde el bat, me pone algo raro como inal&mbrica, osea no me reconoce la , y claro no se ejecuta el comando, dice direccion de red no encontrada. Pues si me podeis ayudar. un saludo
|
|
|
7
|
Programacin / Scripting / Preguntas sobre bat. para Telnet
|
en: 11 Noviembre 2009, 23:45 pm
|
A ver si me podeis echar la primera mano.
Vereis estoy intentando hacer un bat para sacarle unos datos a un modem desde telnet, ya que tengo que hacerlo por wifi.
Gracias al nircmd.exe, muy bueno por cierto, pues puedo mandar los comandos necesarios, y aqui estan mis problemas.
1- nircmd sendkey D press, porque me escribe d minuscula?
2- esta es mas chunga, vereis si ponemos esto. ipconfig /all > archivo.txt, por cmd.exe Te crea un archivo com los datos que le hemos pedido y mi pregunta es esa, saveis como se hace por telnet ?, osea cual es el comando, si hay alguno claro, para sacar datos desde telnet a un archivo?
Espero lo entendais y si alguien save las respuestas, se lo agradeceria mucho. un saludo
|
|
|
|
|
|
|