Mahlzeit,
Mein Programm wird einen Text in ASCII codieren und diesen dann als DUALcode ausgeben.
Dazu muss ich die länge des Textes herausfinden. Dass mache ich mit diesem Befehl:
/*
set Tro=HAS
echo %Tro%>%userprofile%\getlen.tmp
for %%i in ("%userprofile%\getlen.tmp") do set /a "theLen=%%~zi-2" & del %userprofile%\getlen.tmp
echo MSG Laenge von %Tro% ist %theLen%
*/
Anschließend soll die Variable "theLen" auf die erste Stelle gekürtzt werden. In dem Fall wäre es "H". Dazu mache ich:
/*
set /A wert=%theLen%-1
set Tro=%Tro:~-%wert%
echo %Tro%
*/
leider kommt nicht der erste Buchstabe raus sondern der Befehl ohne Prozentzeichen: "Tro:~-2"
Gebe ich statt "set Tro=%Tro:~-%wert%" "set Tro=%Tro:~-2" ein wird das gewünschte "H" ausgegeben.
Da ich aber im laufe des Programms die Variable "wert" verändere kann ich sie nicht durch feste Werte ersetzen.
Ich hoffe ihr könnt mir helfen, denn ich bin überfragt und nach mehreren stunden suchen denke ich dass von Google auch.
Danke schon mal.
Mit freundlichen Grüßen
Erik
Mein Programm wird einen Text in ASCII codieren und diesen dann als DUALcode ausgeben.
Dazu muss ich die länge des Textes herausfinden. Dass mache ich mit diesem Befehl:
/*
set Tro=HAS
echo %Tro%>%userprofile%\getlen.tmp
for %%i in ("%userprofile%\getlen.tmp") do set /a "theLen=%%~zi-2" & del %userprofile%\getlen.tmp
echo MSG Laenge von %Tro% ist %theLen%
*/
Anschließend soll die Variable "theLen" auf die erste Stelle gekürtzt werden. In dem Fall wäre es "H". Dazu mache ich:
/*
set /A wert=%theLen%-1
set Tro=%Tro:~-%wert%
echo %Tro%
*/
leider kommt nicht der erste Buchstabe raus sondern der Befehl ohne Prozentzeichen: "Tro:~-2"
Gebe ich statt "set Tro=%Tro:~-%wert%" "set Tro=%Tro:~-2" ein wird das gewünschte "H" ausgegeben.
Da ich aber im laufe des Programms die Variable "wert" verändere kann ich sie nicht durch feste Werte ersetzen.
Ich hoffe ihr könnt mir helfen, denn ich bin überfragt und nach mehreren stunden suchen denke ich dass von Google auch.
Danke schon mal.
Mit freundlichen Grüßen
Erik