Hallo zusammen!
In Delphi kann ich ganz gut mit Strings umgehen. Gerade ist es aber erforderlich ein Programm von Delphi in JavaScript zu übersetzen und genau an den String-Funktionen scheitert es gerade:
Ord(‚A‘) gibt in Delphi 65 zurück, also den Dezimalwert des ASCII-Zeichens. CHR(65) wandelt in Delphi den Dezimalwert in ein ASCII-Zeichen, hier ‚A‘. Wie geht das mit JavaScript?
Außerdem kenne ich aus Delphi das Schlüsselwort „div“, in C++ und Basic schreibt man „“. Dabei handelt es sich um die Ganzzahldivision, also das „Gegenstück“ zur Modulooperation. Beispiel:
7 / 4 = 1,75
7 mod 4 = 7 % 4 = 3
7 div 4 = 7 \ 4 = 3
Die Modulooperation habe ich in JavaScript gefunden, die für die Ganzzahldivision nicht. Ich habe mir das jetzt die div-Funktion mathematisch zusammengebastelt:
a \ b = a / b - (a % b) / b = 1 / b * (a - a % b)
Das funktioniert, macht den Quelltext aber nicht gerade einfacher zu lesen. Gibt es in JavaScript schon eine fertige Funktion wie „div“ in Delphi, die das kann?
Gruß
C. Penkwitt
Hi Christian.
Ord(‚A‘) gibt in Delphi 65 zurück, also den Dezimalwert des
ASCII-Zeichens.
In JS:
zeichen=„A“;
alert(zeichen.charCodeAt(0));
CHR(65) wandelt in Delphi den Dezimalwert in
ein ASCII-Zeichen, hier ‚A‘.
In JS:
zeichenauscode = String.fromCharCode(65);
alert(zeichenauscode);
Ich habe mir das jetzt die
div-Funktion mathematisch zusammengebastelt:
a \ b = a / b - (a % b) / b = 1 / b * (a - a % b)
Das funktioniert, macht den Quelltext aber nicht gerade
einfacher zu lesen.
Nicht viele Programmierer denken über letzteres nach. -
Kenne keine passende Funktion. Falls du viele mathematische Operationen umsetzen musst, schau dir dir JavaScript ObjektReferenz vom Math Objekt in SELFHTML an. Die dort aufgeführten Methoden sind das höchste der Gefühle in JavaScript, aber du hast dir doch schon selbst weitergeholfen…
Viel Erfolg weiterhin DP
Hallo!
Danke! Zwar ist das mit „div“ noch etwas doof, aber das Programm funktioniert. Hier der funktionierende Quelltext wenn es dich interessieren sollte was ich damit gemacht habe.
Gruß
C. Penkwitt
var repChar = ’ ';
function IntToBin(IntValue){
var OutSequence = „“;
for(var x = 7; x >= 0; x–){
if(IntValue - Math.pow(2, x) >= 0){
OutSequence = „1“ + OutSequence;
IntValue -= Math.pow(2, x);
}
else OutSequence = „0“ + OutSequence;
}
return OutSequence;
}
function compress(txtInput){
var BINCode, CHRCode, txtOutput;
txtOutput = „“; CHRCode = „“; BINCode = 128;
for(var x = 0; x