Nyhetsbrevet 5/2004Den här gångenFrågor
FrågorHur avkortar man med decimaler i JavaScript?I förra nyhetsbrevet visade du hur man med JavaScript kan avkorta ett decimaltal till närmaste heltal. Jag har ett formulär där besökaren skall kunna skriva in ett värde, till exempel 66,6666..., och ett annat där resultatet av en beräkning visas. I båda fallen vill jag ha talet avkortat till två decimaler. Hur gör jag då? Svar: Eftersom jag tror att det är viktigt att man förstår principen för det här, tar jag det ganska utförligt. Hoppa vidare till nästa fråga om du inte är intresserad av JavaScript. JavaScript innehåller ingen möjlighet att direkt visa svar med valfritt antal decimaler. I stället får du använda dig av en "matematisk genväg". Jag förklarar först vad som händer. Vi utgår från ditt tal 66,6666... Multiplicera detta tal med 100 och du får 6666,66... Avrunda nu resultatet till närmaste heltal, och du får 6667. Dividera detta med 100 och resultatet blir 66,67 – alltså ditt ursprungliga tal avrundat till två decimaler. Om du vill ha 1 eller 3 decimaler, multiplicerar och dividerar du i stället med 10 respektive 1000, det vill säga lika många nollor som du vill ha decimaler. Det var principen; nu till javaskriptet. I JavaScript måste du använda punkt i stället för komma som decimaltecken. Antagligen går det att ändra detta med en utökning av skriptet, men jag vet inte hur – skall försöka ta reda på det, men tills vidare använder vi alltså punkt. Om vi anger talet med variabelnamnet "tal" kommer det att se ut så här: Först hämtar du värdet för "tal" från formuläret: var tal = (document.forms[0].a.value); De formulär du har på sidan har indexvärden som börjar med 0 och varje formulär på sidan skall dessutom ha ett namn. Här betyder (document.forms[0].a.value) följande: Hämta värdet som finns i det öppna dokumentets första formulär som har namnet "a". När detta är gjort har variabeln "tal" fått värdet 66.6666. Nästa steg blir att utföra beräkningen: tal = Math.round(tal*100)/100; Det vill säga: Runda av (66.6666*100) till närmaste heltal och dividera resultatet med 100. När detta är gjort har "tal" fått sitt nya värde 66.67 och detta skall sättas in i formuläret. Det görs med följande rad: document.forms[0].a.value = tal; Vilket betyder: Det öppna dokumentets formulär med index 0 och namnet a skall ha värdet tal. Hela skriptet (som placeras i HEAD-elementet) ser ut så här: <SCRIPT LANGUAGE="JavaScript"> Men sedan måste du förstås lägga till formuläret i BODY: <FORM> Där är det händelsehanteraren onBlur som anropar funktionen "avkorta()". Besökaren skriver in sitt tal, klickar utanför formuläret eller trycker på tabbtangenten och får det avkortade talet inlagt i formuläret. Hur stänger man Windows när musen strejkar?Min trådlösa mus drivs med batteri. När batteriet är tömt upphör musen att fungera, utan förvarning. Hur gör jag för att stänga av Windows så att jag kan byta batteri eller mus? Svar: Först vill du antagligen spara det du höll på med. I de flesta program kan man spara genom att trycka på Ctrl+S. Om du får upp en ruta där du skall välja mellan Ja, Nej och Avbryt, kan du med piltangenterna stega fram till rätt alternativ innan du trycker på Enter. Om du har en tangent med windowsfönstret på tangentbordet, kan du trycka på den och välja Avsluta. Välj alternativ med piltangenterna och Enter, bläddra mellan OK, Avbryt och Hjälp med tabbtangenten och bekräfta ditt val med Enter. För att komma åt menyn Avsluta när du inte har fönstertangenten gör du så här:
Jag vill ha musen till vänster om tangentbordet, eftersom jag använder numeriska tangenterna mycket och inte vill flytta handen fram och tillbaka mellan tangenter och mus. Men det är svårt att dubbelklicka när jag bara flyttar musen. Kan jag ändra så att vänster musknapp fungerar som höger och tvärtom, så att jag fortfarande kan dubbelklicka med pekfingret? Jag använder Windows 98. Svar: Många moderna möss (musar?) har ett inställningsprogram där du kan välja om musen skall vara högerhänt eller vänsterhänt. Titta i Kontrollpanelen under Musen om du har denna möjlighet. Annars får du göra en liten registerändring, och som alltid när det gäller registret skall du vara försiktig!
Ibland i engelskspråkiga programbeskrivningar ser man uttrycket "boilerplate program" när det handlar om text. Enligt ordboken betyder "boilerplate" ångpanneplåt, och jag kan inte för mitt liv förstå vad som menas med det i programsammanhang! Ångpanneplåt? Och text? Kan du förklara? Svar: Ja, eller åtminstone delvis. Jag vet fortfarande inte säkert vad ångpanneplåt är, men det bör vara något kraftfullt att döma av följande text som jag hittade på Internet: "Under 1800-talets första hälft möttes ångmaskinerna med en stor skepsis, men sedan man börjat använda ångpanneplåt kunde ångtrycket ökas och maskinerna blev allt mer attraktiva." Via Internet fick jag dessutom veta att dörrarna på Gamla riksarkivet på Riddarholmen i Stockholm är tillverkade av ångpanneplåt medan karmar och trösklar är gjorda i sandsten. I förlagssammanhang är en ångpanneplåt förlagets standardkontrakt, en standardtext som kan användas om och om igen och bearbetas samt utgöra utgångspunkt för förhandlingar. Och det här är ju en hygglig ledtråd till dator- och textsammanhanget. I ångans tidevarv, då skickliga hantverkare fortfarande var vanligt förekommande och den industriella revolutionen som bäst höll på att utvecklas, blev efterfrågan på flyttbara och stationära ångpannor enorm. Ångpannor i alla tänkbara storlekar och former tillverkades och praktiskt taget varenda ångpanna försågs på främre plåten med en mässings- eller bronsplåt som visade tillverkarens namn, var han fanns och vad han främst tillverkade. Dessutom angavs ångpannans modell och serienummer. Från början var det de skickliga hantverkarna som tillverkade dessa plåtar. Men så småningom insåg man att skickliga hantverkade som tvingades att gravera samma urtråkiga text på en liten mässingsplåt oräkneliga gånger varje dag tröttnade och troligen tappade lusten att vara skickliga hantverkare. Då började man i stället framställa dessa ångpanneplåtar som avgjutningar efter ett handgjort original, varpå man stämplade in serienummer och annat som växlade från ångpanna till ångpanna. I dag betyder "boilerplate text" eller "ångpannetext" alltså text som upprepas ofta och därför helst bör skrivas av något som inte kräver mänskliga mödor, som makron, snabbkommandon eller liknande. Ett exempel är den text som vi brukar kalla signatur och använder som avslutning i e-brev: "Med vänliga hälsningar och en stor kram till barnbarnen Fridolf och Selma" I stället för att skriva ut denna text i slutet av varje brev, kan man använda ett "boilerplate program" som på order från ett snabbkommando sätter in texten på rätt plats. I programtipsen nedan hittar du Yankee Clipper, som är just ett sådant ångpanneplåtsprogram! ProgramtipsClocX (gratis)Det här gratisprogrammet ger dig en snygg klocka på Skrivbordet. Klockan är mycket anpassningsbar och du kan använda egna bilder som bakgrund - utöver de bakgrunder som levereras med progammet. Klockan har en inbyggd kalender och du kan ställa in larm för olika tider. Larmet utlöser olika händelser, som en påmminnelse med text eller larmsignal, att ett program öppnas eller att datorn stängs av. Larmet kan köras en enstaka gång eller upprepas med jämna mellanrum. Programmet har flera inbyggda språk, bland dem svenska. ClocX är gratis och fungerar med Windows 98/ME/NT/2000/XP/2003. Hämta ClocX. Yankee Clipper III (gratis) och Yankee Clipper X (registrera med rabatt)Och här följer boilerplate- eller ångpanneplåtprogrammen som jag nämnde ovan under frågor och svar. Yankee Clipper III är en utökning till klipphanteraren i Windows. Här följer en uppräkning av några egenskaper:
Yankee Clipper III är gratis. Hämta programmet från SupportData.Nets förstasida. Yankee Clipper X är en större och mångsidigare pröva på-version som du kan registrera med rabatt. Nedan en del av egenskaperna i YCX:
YCX kostar knappt 10 dollar att registrera från SupportData.Nets förstasida. FavorittipsFrån Benny Walfrid kommer de båda följande tipsen – tack Benny: Dolda program i Windows XPKänner du till att det finns en hel del "dolda" specialprogram i Windows XP? De går ofta att komma åt via olika menyer och mycket klickande, men om man känner till programnamnet kan man starta programmet direkt via Start/Kör. Prova följande program:
OBS! Det kan vara "farligt" att ändra vissa inställningar och parametrar. Kontrollera systemfiler i Windows 2000/XPI Windows finns möjligheten att kontrollera att viktiga systemfiler inte har ändrats, till exempel genom att andra program har ersatt demOm detta har inträffat kan stabiliteten i operativsystemet påverkas. Ett enkelt sätt att bli av med problem är att använda "Filgranskaren" (System File Checker). OBSERVERA: Kör inte detta program om du använder Windows 2000 men inte har installerat SP4 eller ett senare servicepaket! Men om du har Windows XP, eller Windows 2000 SP4+, kan du ha nytta av det här - om någon fil har blivit förändrad får du möjlighet att byta ut den mot originalfilen. Se till att du har CD:n med operativsystemet tillgänglig och gör så här: Klicka på Start/Kör och skriv cmd. Du kommer då till "DOS-prompten", där du skriver sfc och trycker Enter. Nu visas de alternativ som finns för Filgranskaren. Skriv scannow, tryck Enter och systemfilerna granskas. När jag själv körde programmet visade det sig att ett tiotal filer inte var av rätt version eller saknades. Kontrollen tar en liten stund – hos mig hann det gå 15 minuter. När du sätter i CD:n med OS:et kan det hända att installationsprogrammet vill starta. Det är bara att välja avsluta och låta skivan sitta kvar. Fortsätt sedan med kontrollen. Om du får en uppmaning om att mata in installationsskivan, svarar du med "Försök igen". Då ersätts den felaktiga filen och kontrollen fortsätter. Jag har inte upptäckt några konstigheter efter min körning. Tvärtom har jag blivit av med en del oförklarliga fel, typ "Explorer har stött på ett problem och måste avslutas" och liknande. Nytt på SupportData.NetRabatt vid registrering av Yankee Clipper XDu kan registrera Yankee Clipper X med rabatt från vår webbplats. Det låga priset gäller till den 13 juni, så du har gott om tid på dig att först pröva programmet. |
© SupportData.Net |