Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: JavaScript: OMAT TIEDOSTOT

stere [27.02.2004 12:22:21]

#

Huomasin koneessani tämmöisen koodivinkin kansioo muokattaessani, en tiedä sopiiko se nettiin, tätä testataan OMALLA vastuulla. Kannattaa kokeilla OMALLA serverillä.
Ei tuhoa YHTÄÄN tiedostoa/kansiota.

skript.js

 // THIS SCRIPT IS COMMON FOR ALL CUSTOM WEB VIEWS

 var L_GetPics_Text        = "Kopioi kuvat <a href='' onClick='LaunchWIA(); return false;' name='WVLink' title=\"Kopioi kuvat skannerista tai kamerasta Omat kuvatiedostot -kansioon\">skannerista tai kamerasta</a>.";
 var L_SlideShow_Text      = "Näytä kuvat <a href='' onclick='DoSlideShow(); return false;' name='WVLink' title=\"Näyttää tämän kansion kuvat koko näytön kokoisena diaesityksenä\">diaesityksenä</a>.";
 var L_StaticAction_Text   = L_SlideShow_Text + "<p style='margin-top: 12px'>";
 var L_Prompt_Text         = "Tuo näyttöön kohteen kuvaus valitsemalla kohde.";
 var L_Empty_Text          = "Tässä kansiossa ei ole näytettäviä objekteja.";
 var L_Multiple_Text       = " kohdetta valittu.";
 var L_Size_Text           = "Koko: ";
 var L_FileSize_Text       = "Tiedostojen koko yhteensä: ";
 var L_Dimensions_Text     = "Mitat: ";
 var L_Pixels_Text         = " kuvapistettä";
 var L_Delimiter_Text      = "&nbsp";
 var L_Colon_Text          = ": ";
 var L_Bytes_Text          = "&nbsp;tavua";
 var L_Print_Text          = "&Tulosta";
 var L_Today_Text          = "Tänään";
 var L_Yesterday_Text      = "Eilen";
 var L_TotalSize_Text      = "Levykoko: ";
 var L_UsedSpace_Text      = "Käytetty: ";
 var L_FreeSpace_Text      = "Vapaata tilaa: ";
 var L_Attributes_Text     = "Määritteet";
 var L_Codes_Text          = "RHSaCE"; // suppress the Archive flag
 var L_ReadOnly_Text       = "Vain luku";
 var L_Hidden_Text         = "Piilotettu";
 var L_System_Text         = "Järjestelmä";
 var L_Archive_Text        = "Arkisto";
 var L_Compressed_Text     = "Pakattu";
 var L_Encrypted_Text      = "Salattu";
 var L_NoAttributes_Text   = "(normaali)";
 var L_SeeAlso_Text        = "Katso myös:";
 var L_MyDocuments_Text    = "Omat tiedostot";
 var L_MyComputer_Text     = "Oma tietokone";
 var L_MyNetPlaces_Text    = "Verkkoympäristö";
 var L_MyDocsDESC_Text     = "Omat tiedostot sisältää henkilökohtaiset tiedostot.";
 var L_MyCompDESC_Text     = "Oma tietokone sisältää paikalliset tietokoneen asemat sekä käyttöön otetut verkkoasemat.";
 var L_MyNetPDESC_Text     = "Verkkoympäristö sisältää pikakuvakkeet yrityksen sisäisen verkon ja Internetin tietokoneisiin.";
 var gAttributeNames       = new Array(L_ReadOnly_Text, L_Hidden_Text, L_System_Text, L_Archive_Text, L_Compressed_Text, L_Encrypted_Text);
 var gIntroText            = "";
 var gTimer                = 0;
 var gDoBlends             = false && (navigator.cpuClass != "Alpha" && screen.colorDepth > 8);
 var gToday;
 var gYesterday;
 var gFolder;
 var gFoundAuthor;

 function FormatDetail(label, data) {
     var s;
     if (label.length + data.length > 32)
         s = "<p>" + label + L_Colon_Text + "<br>" + data;
     else
         s = "<p>" + label + L_Colon_Text + data;
     return s;
 }

 function SanatizeString(data) {
   var re = /\</g;
   var s = data.replace( re, "&lt;");
   re = />/g;
   s = s.replace( re, "&gt;");

   return s;
 }

 function GetStaticActionText()
 {
     if ( WiaMgr.Devices.Length )
         return L_GetPics_Text + "<p>" + L_StaticAction_Text;
     else
         return L_StaticAction_Text;
 }

 function ShowInfo() {
     // updates the left info panel when you select icons
     var item;
     var name;
     var data;
     var text;
     var title;
     var size = 0;
     var i;

     if (gDoBlends) {
         Panel.filters.blendTrans.Stop();
         Panel.filters.blendTrans.Apply();
     }

     // remove previous size info
     Dimensions.style.display = "none";

     data = FileList.SelectedItems().Count;
     ShowLinks(data == 0);
     if (data == 0)
         text = NoneSelected();
     else if (data > 1)
         text = ManySelected(data);
     else {
         text = GetStaticActionText();
         item = FileList.SelectedItems().Item(0);

         HandlePreview( item );

         // name
         name = FileList.Folder.GetDetailsOf(item, 0);
         if (!name)
             name = item.Name;
         text += "<b>" + SanatizeString(name) + "</b>";
         if (false && IsFileLocked(FileList.Folder.GetDetailsOf(item, 4)))
             text += "&nbsp;&nbsp;<img id=Locked src='res://webview.dll/Locked.gif'>";

         // type
         data = FileList.Folder.GetDetailsOf(item, 2);
         if (data)
             text += "<br>" + data;

         // date
         text += HandleDate(item);

         // size
         text += HandleSize(item);
     }
     // replace Info with the new text
     Info.innerHTML = text;
     if (gDoBlends)
         Panel.filters.blendTrans.Play();
 }

 function FormatNumber(n) {
     var s = "";
     var i, j = 0;
     for (i = n.length - 1; i >= 0; i--) {
         s = n.charAt(i) + s;
         if (i && ((++j % 3) == 0))
             s = L_Delimiter_Text + s;
     }
     return s;
 }

 function HandleSize(item) {
     var s = "";
     var size = item.Size;
     if (size && size >= 0 && size < 1000)
         s = "<p>" + L_Size_Text + size + L_Bytes_Text;
     else {
         var data = FileList.Folder.GetDetailsOf(item, 1);
         if (data)
             s = "<p>" + FileList.Folder.GetDetailsOf(null, 1) + L_Colon_Text + data;
         else if (size)
             s = "<p>" + L_Size_Text + FormatNumber(size.toString()) + L_Bytes_Text;
     }
     return s;
 }

 function HandleDate(item) {
     var s = "";
     var data = FileList.Folder.GetDetailsOf(item, 3);
     if (data)
         s = "<p>" + FileList.Folder.GetDetailsOf(null, 3) + L_Colon_Text + data;
     return s;
 }

 function FormatAttributes(data) {
     var s = "";
     var code;
     for (i = 0; i < L_Codes_Text.length; i++) {
         code = L_Codes_Text.charAt(i);
         if (data.indexOf(code) > -1) {
             if (s)
                 s += ", ";
             s += gAttributeNames[i];
         }
     }
     if (!s)
         s = L_NoAttributes_Text;
     return s;
 }

 function FormatComment(data) {
     var s = "";
     if (data) {
         data = SanatizeString( data );
         var start;
         var end;
         var theLink;
         var a = data.split("\n");
         var L_Author_Text = "Tekijä: ";

         // look for a contact
         for (var i in a) {
             start = a[i].indexOf(L_Author_Text);
             if (start < 0)
                 continue;
             if (gFoundAuthor) // already in Details column
                 a[i] = "";
             else {
                 start += L_Author_Text.length;
                 end = a[i].length;
                 theLink = data.substring(start, end);
                 a[i] = L_Author_Text + "<a href='mailto:" + theLink + "'>" + theLink + "</a>";
             }
         }

         // parse lines for Office files without breaking links below
         data = a.join("<br>\n");
         // look for embedded links
         start = data.indexOf("http://");
         if (start < 0)
             start = data.indexOf("file://");
         if (start < 0)
             s += data;
         else {
             end = data.indexOf(" ", start);
             if (end < 0)
                 end = data.length;
             if (start > 0)
                 s += data.substring(0, start - 1);
             theLink = data.substring(start, end);
             s += theLink.link(theLink);
             if (end < data.length)
                 s += data.substring(end + 1, data.length);
         }
     }
     return s;
 }

 function HandlePreview(item) {
     // try to generate a new thumbnail or media preview
     Preview.Show(item);
 }

 function GetFileExtension(name) {
     var ext = name.substring(name.lastIndexOf(".") + 1, name.length);
     return ext.toLowerCase();
 }

 function IsFileLocked(name) {
     return (name.indexOf(L_Codes_Text.charAt(0)) > -1);
 }

 function ShowLinks(bShow) {
     var s = "";
     if (bShow) {
         var oShell = new ActiveXObject("Shell.Application");
         s = "<p>" + L_SeeAlso_Text;

         if (oShell.NameSpace("Shell:Personal").Self.Path != FileList.Folder.Self.Path)
             s += "<p class=Half><a id=MD href='file:///::{450D8FBA-AD25-11D0-98A8-0800361B1103}' title=\"" + L_MyDocsDESC_Text + "\" name='WVLink'>" + L_MyDocuments_Text + "</a>";
         s += "<p class=Half><a id=MC href='file:///::{20D04FE0-3AEA-1069-A2D8-08002B30309D}' title=\"" + L_MyCompDESC_Text + "\" name='WVLink'>" + L_MyComputer_Text + "</a>";
         s += "<p class=Half><a id=MNP href='file:///::{208D2C60-3AEA-1069-A2D7-08002B30309D}' title=\"" + L_MyNetPDESC_Text + "\" name='WVLink'>" + L_MyNetPlaces_Text + "</a>";
     }
     Links.innerHTML = s;
 }

 function LaunchWIA() {
     ShellApp = new ActiveXObject("Shell.Application");
     ShellApp.ShellExecute("wiaacmgr.exe","/SelectDevice");
 }

 function DoSlideShow() {
     Preview.SlideShow();
 }

 function NoneSelected() {
     var s = gIntroText + GetStaticActionText() + L_Prompt_Text;
     Preview.Show(false);
     return s;
 }

 function ManySelected(items) {
     var selected = FileList.SelectedItems();
     var s = GetStaticActionText() + items + L_Multiple_Text + "<p>";
     var size = 0;
     if (items <= 100) {
         for (var i = 0; i < items; i++) {
             var itemsize = selected.Item(i).Size
             if (itemsize < 0)
                 size += (itemsize + 4294967296);
             else
                 size += itemsize;
         }
         if (size)
             s += L_FileSize_Text + FormatNumber(size.toString()) + L_Bytes_Text + "<p>";
         if (items <= 16)
             for (i = 0; i < items; i++)
                 s += SanatizeString(selected.Item(i).Name) + "<br>";

     }
     Preview.Show(selected);
     return s;
 }

 function GetPanelWidth()
 {
     var panelWidth = 0;
     var docWidth = document.body.clientWidth;
     if (docWidth > 425)
     {
         var panelWidth = docWidth * 2 / 5;
         if (panelWidth > 300)
         {
             panelWidth = 300;
         }
     }
     return panelWidth;
 }

 // EVENTS

 function PreviewReady() {
     window.clearTimeout(gTimer);
     Dimensions.innerHTML = "<p>" + L_Dimensions_Text + Preview.cxImage + "x" + Preview.cyImage + L_Pixels_Text;
     Dimensions.style.display = "";
 }

 // INITIALIZATION

 function Initialize(introText) {
     gIntroText = introText;
     gFolder = FileList.Folder;
     FolderName.innerHTML = gFolder.Self.Name;
     Info.innerHTML = NoneSelected();
     ShowLinks(true);

     // fix styles
     var L_SystemFont1_Text = "MS Sans Serif";
     var L_SystemFont2_Text = "MS Shell Dlg";
     var L_SystemFont_Text = "Tahoma, Verdana";
     var tr = document.body.createTextRange();
     if (navigator.cpuClass != "Alpha") {
         tr.collapse();
         var actualFont = tr.queryCommandValue("FontName");
         if (actualFont == L_SystemFont1_Text || actualFont == L_SystemFont2_Text)
             document.body.style.fontFamily = L_SystemFont_Text;
     } else
         document.body.style.fontFamily = L_SystemFont_Text;

     // init relative dates
     gToday = new Date();
     gToday = gToday.toLocaleString();
     gToday = gToday.substring(0, gToday.indexOf(' '));
     gYesterday = new Date(Date.parse(gToday) - (1000 * 60 * 60 * 24));
     gYesterday = gYesterday.toLocaleString();
     gYesterday = gYesterday.substring(0, gYesterday.indexOf(' '));
}

function OnWebviewLinkEnter( aLink )
{
    if( aLink.title )
    {
        window.status = aLink.title;
    }
    else
    {
        window.status = "";
    }
    return true;
}

function OnWebviewLinkExit()
{
    window.status = "";
    return false;
}

stere [27.02.2004 12:23:24]

#

Tarkastakaa koodi ennen käyttöä!!!

T.M. [29.02.2004 14:26:03]

#

Eikös sinun pitäisi tarkastaa se? Turha lähettää mitään vinkkejä tänne jos ei tiedä toimiiko ne vai ei, tai miten ne toimivat.

routilaj [13.05.2004 07:51:10]

#

Samaa mieltä. Kuka tuota nyt jaksaa lukea vain saadakseen tietää, että toimiiko se!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta