webForumDet fria alternativet

False = Falskt

ASP

35 svar · 1 610 visningar · startad av rincewind · sida 2 av 2

Frågan, av rincewind

Hej. Jag upptäckte att mitt ASP på min IIS (har nyligen bytt dator från engelskt 2k till en med svenska XP) skriver ut FALSKT i stället för FALSE vid en booleansk variabel. Detta får min databas att totalt spåra ut då dess SQL inte alls fattar vad FALSKT betyder....=( Jag vill itneheller skriva om alla ställen som variablerna självutvecklas på... Det är helt enkelt för många ställen... Någon som

Läs frågan i sin helhet →
Medlem sedan juni 200032 967 inlägg
#21

I de fallen man jobbar med XML så är det för mig en självklarhet att använda 1 eller 0 som representanter för booelanska värden, inte strängkonverterade "True" eller "Sant". Det hade givetvis varit vansinne, och i dessa fall får man helt enkelt, med tanke på databärarens natur, specialhantera dessa fall.

Jag håller inte med. Du menar att jag istället för:

strXML = "<foo val=""" & cbool(bFoo) & """>"

ska skriva

if Cbool(bFoo) then
     sVal = 1
else
     sVal = 0
end if
strXML = "<foo val=""" & sVal & """>"

Det, om något, är vansinne.

Medlem sedan feb. 200112 078 inlägg
#22

Eller, om man nu befinner sig i VBScript (och inte VB, som har den utmärkta inbyggda funktionen IIf()), så skulle det väl sett ut såhär;

Function IIF(ByVal bExpression, ByVal TruePart, ByVal FalsePart)
	If CBool(bExpression) Then
		IIF = TruePart
	Else
		IIF = FalsePart
	End If
End Function
strXML = "<foo val=""" & IIF(bFoo,1,0) & """>"
Medlem sedan maj 200010 687 inlägg
#23

Eller!

strXML = "<foo val=""" & -CLng(CBool(bFoo)) & """>"
Medlem sedan juni 200032 967 inlägg
#24

Tycker inte om att krångla med konstiga workarounds. :)
Men det är klart att allt går att lösa! :)

Medlem sedan feb. 200112 078 inlägg
#25

Absolut! Jag tycker det har presenterats ett antal bra lösningar i den här tråden faktiskt. :)

Medlem sedan nov. 2003104 inlägg
#26

oj... här hade det hänt lite... perfekt=)..

Jag ber om ursäkt för att ha klankat på ASP, men jag hävdar bestämt att det är till mångt och mycket vansinne att ändra hur en variabel presenteras beroende på språk i operativsystemet. Speciellt om det inte går att ändra som en defaultinställning till ett projekt. Jag har programmerat många olika språk igenom tiden (allt från c64 Assembler till Java) och aldrig sett sådant förrut...

Vad är nästa steg? Översätta "if" till "om" så man måste skriva varje ifsats i en CIf() =)...

nej men ok, jag har insett mitt misstag och får skriva om på alla ställen eller hitta en burk med engelskt windows på....
Tack för all hjälp..
-- R

Medlem sedan juni 200032 967 inlägg
#27

Vad är nästa steg? Översätta "if" till "om" så man måste skriva varje ifsats i en CIf() =)...

I vissa svenska Microsoft-program ur Office-familjen är det just det som gäller. If heter Om, och IIf heter OOM(!!!). :)

mvh och lycka till,

Medlem sedan nov. 2003104 inlägg
#28

I vissa svenska Microsoft-program ur Office-familjen är det just det som gäller. If heter Om, och IIf heter OOM(!!!).

Hjälp!.. Det måste vara straffbart!!! Platformsoberoende innom operativsystemet måste ju iallafall vara något som de tänker på?!=)
Mvh
-- Rincewind

Medlem sedan dec. 20003 887 inlägg
#29

Språkförbistringen här beror helt och hållet på Visual Basics fullständigt idiotiska uppbyggnad.

Att tolka en boolsk sanning som -1 är som att (jag blir så irriterad så att jag inte kommer på någon metafor!).

*reser skyddsmurarna*

Medlem sedan feb. 200112 078 inlägg
#30

Engine^ skrev:

Att tolka en boolsk sanning som -1 är som att (jag blir så irriterad så att jag inte kommer på någon metafor!).

Allt (negativa tal eller ej) utom 0 är True enligt Visual Basic och även VBScript, inte bara -1. ;)

Så den korrekta vändningen borde väl bara att VB* tolkar 0 som False, inget annat.

Medlem sedan dec. 20003 887 inlägg
#31

OveRRidE skrev:

Allt (negativa tal eller ej) utom 0 är True enligt Visual Basic och även VBScript, inte bara -1. ;)

Så den korrekta vändningen borde väl bara att VB* tolkar 0 som False, inget annat.

Förvisso, men cint( true ) = -1. Vansinne!

Medlem sedan feb. 200112 078 inlägg
#32

Jag antar att du utgår ifrån att det är annorlunda i andra språk? Och ja, det kan man tycka är lite korkat. Men det är ju iallafall konsistent.

Medlem sedan dec. 20003 887 inlägg
#33

Konsistensen i VB påminner mig en hel del om spagetti... ;)

Medlem sedan feb. 200112 078 inlägg
#34

Nja. ;)

Däremot kan jag nog dra mig till att säga att kombinationen ASP och VB, ger en hel del spagetti.

Medlem sedan nov. 2003104 inlägg
#35

Ahhh.. efter mycket stönande, morrande, frustande, och hårslitande fick jag reda på något.

setLocale("en-gb")

Fixade så att booleander skrivs ut som true/false....

Hoppas detta hjälper någon annan...

Medlem sedan juni 200032 967 inlägg
#36

Trevligt!

rincewind, tack för info! :)

264 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)