HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Vágólap elérése ASP.NET alkalmazásainkban


Példaprogram letöltése

10593 bájt

Cikkünkben arra keressük a választ, hogy milyen módon teremthetünk kapcsolatot ASP.NET alkalmazásunk, és a Vágólap memóriaterülete között, hogyan másolhatunk, vagy vághatunk ki a weblap szöveges információi közül tetszőleges mennyiséget a Vágólapra, majd onnan hogyan tudjuk ezeket elérni, és tetszőleges helyre írni. Bemutatjuk a megoldásban kulcsszerepet játszó objektum metódusait, melyekkel a műveletek elvégezhetők.

Mellékelt példa megnyitása előtt szükséges egy ClipBoardUsage nevű virtuális könyvtár létrehozása, mely a példa könyvtárára mutat. Ehhez nyissa meg a mellékelt mappa Tulajdonság ablakát és itt a Webmegosztás lapon engedélyezze a mappa megosztását olvasási és parancsfájlok futtatási jogával.
A mellékelt ASP.NET példaprogramban egy színes téglalapban elhelyeztünk egy szöveget, melynek kijelölt elemeit a megfelelő gombokkal – COPY, illetve CUT – a vágólapra másoljuk, illetve töröljük is a forráshelyről, majd a PASTE gomb segítségével a tetszőleges helyre másoljuk. Ezen azt értjük, hogy miután a Vágólapra került a kívánt szöveges információ, egy másik szövegrészletet jelölünk ki, majd ennek tartalmát a Vágólap tartalmával kicseréljük. A lapon elhelyezett szövegmezőben a Vágólap aktuális tartalma látható.
A megoldáshoz nincs szükség arra, hogy szerver-objektumokat érjünk el, így a másolást, illetve kivágást végző nyomógombokra klikkelve nem juttatjuk el a kérést a szerverhez, helyette JScript-objektumokat használunk.
Legfontosabb objektumunk a rendszer Vágólapját reprezentáló, a Microsoft Internet Explorer 5-ös verziójától kezdve elérhető clipboardData objektum, melynek három fontos metódusa van annak érdekében, hogy adatokat másoljunk a Vágólapra, onnan adatokat másoljunk változókba, valamint tartalmát töröljük. Ezek a következők:
  • clearData metódus
A metódus törli a Vágólapon található adatokat. Szintaxisa:
object.clearData( [sDataFormat]);
Paraméterként karakterlánc formátumban kell megadni egy vagy több adatformátumra jellemző értéket, melyek a következők:
Formátumazonosító Megjegyzés
Text Kijelölt szöveg-formátumú adat.
Image Kijelölt kép-formátumú adat.
URL Kijelölt hivatkozás-formátumú adat.
HTML Kijelölt HTML-formátumú adat.
File Kijelölt fájl-formátumú adat.
Amennyiben nem adunk meg paramétert, valamennyi adattípus törlődik a Vágólap területéről. A szöveg-formátumú adat törlését a következőképpen adhatjuk meg a metódusban:
clipboardData.clearData("Text");
  • getData metódus
A metódussal elérhetjük a Vágólapon található, megadott formátumú adathalmazt. Szintaxisa:
object.getData(sDataFormat);
Paraméter megadása kötelező, ezek típusa és megadási módja megegyezik az előző metódus esetében említettekkel.
A visszatérési érték attól függ, hogy milyen adatok adunk meg paraméterként. Típusa karakterlánc. Szöveges adat esetén maga a szöveg, a kép esetén a kép elérési útvonala, URL esetén egy hivatkozás. Például:
var otext = clipboardData.getData(("Text");
  • setData metódus
A metódussal adatokat helyezhetünk el a Vágólap memóriaterületén. Szintaxisa:
bSuccess = object.setData(sDataFormat, sData);
A formátumra utaló első paraméter megegyezik a fent említettekkel, második paraméterként pedig magát az elhelyezendő adatot kell megadnunk. Képek esetén természetesen egy létező elérési útvonalat kell megadnunk. Például:
Image i = new Image(...);
i.src = ...;
clipboardData.setData("URL",i.src);
A metódus visszatérési értéke egy logikai érték, sikeres művelet végrehajtás esetén TRUE, egyébként FALSE.
Az objektum metódusainak ismeretében lássuk, hogyan is történik az adatok mozgatása.
Az adatok másolását a COPY gombra klikkelve a doCopy JScript függvénnyel végezzük el. A függvény első soraiban meghatározzuk a mintaszövegben található kijelölést, majd ezt betesszük egy objektumba, melyre meghívjuk a másolófüggvényt:
function doCopy()
{
  var textRange = document.selection.createRange();
Ha létezik kijelölt szövegrész, akkor kimásoljuk a Vágólapra az objektum execCommand metódusával, melynek meg kell adni karakterlánc formájában az elvégzendő műveletet. A művelet elvégzése után a Vágólap tartalmát megjelenítjük a szövegmezőben, majd a kijelölt szöveget töröljük a memóriaterületről:
  textRange.execCommand("Copy");
  document.all["cpText"].innerText = "";
  document.all["cpText"].innerText = window.clipboardData.getData("Text");
  document.selection.empty();
}
A CUT gombra kattintva a doCut függvény fut le, melyben ki is vágjuk a kijelölt szöveget az eredeti helyről:
function doCut()
{
  var textRange = document.selection.createRange();
  ...
A kivágás, és a megjelenítés:
  textRange.execCommand("Cut");
  document.all["cpText"].innerText = "";
  document.all["cpText"].innerText = window.clipboardData.getData("Text");
  document.selection.empty();
Amennyiben a forrás szöveg teljes tartalmát kivágtuk, vagyis nem lehetséges újabb szövegrészt kijelölni, akkor megjelenítünk egy gombot, melynek megnyomásával újra feltölthetjük a szövegdobozt:
  if (document.all["source"].innerText.length == 0)
  {
    document.all["repaire"].style.visibility = "visible";
  }
}
A PASTE gombra kattintva a doPaste függvény fut le, mely a következőt végzi:
function doPaste()
{
  var textRange = document.selection.createRange();
A beillesztés és megjelenítés:
  textRange.execCommand("Paste");
  document.selection.empty();
A beillesztés után a szövegdoboz alatti kontrolok helyét igazítjuk a megfelelő helyre, hogy a szöveg ne lógjon a kontrolokra.
  document.all["clipboard"].style.top = document.all["source"].scrollHeight + 30;  
  document.all["control"].style.top = document.all["source"].scrollHeight + 30;  
}
Amennyiben nem jelölünk ki szöveget, figyelmeztető üzeneteket kapunk.

Cikksorozat

#IDKategóriaCikk címeSorozat
1621DelphiMySQL szerverek elérése Delphi-ből1. rész
1632DelphiMySQL szerverek elérése Delphi-ből2. rész
1641DelphiMySQL szerverek elérése Delphi-ből3. rész
1649DelphiMySQL szerverek elérése Delphi-ből4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 58. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |