Wrox Programmer Forums
| Search | Today's Posts | Mark Forums Read
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Beginning ASP 3.0 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
  #1 (permalink)  
Old May 30th, 2005, 02:06 AM
Authorized User
 
Join Date: May 2005
Location: Newark, Ohio, USA.
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Default OLE object in ASP

What I would like to do is place a picture in an asp page That is part of a record from an access data base. Can this be done? Here is my code. Thanks for your help, I am still learning.


<BASEFONT FACE="Comic Sans MS" COLOR="DarkBlue">
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

<BODY BGCOLOR="#FFFF80">
<CENTER><H1><BR>Scheduling</H1>
<%
  If Session("PersonID") <> "" Then
    Response.Write "<H3>Welcome " & Session("FirstName") & "</H3>"
  End If
%>
</CENTER>
<P>Here's a list of all the available time that our models have made available for purchase<BR>
Select a model check to see if the time you need is available. Then click to make a Bid if up for bid.<BR>
Or you can just buy the one's without a bid expiration date.
</P>
<%
  Dim rsItems
  strSQL = "SELECT * FROM Item " & _
           "WHERE BidExpirationDate > #" & FormatDateTime(Now,2) & "# " & _
           "AND ItemStatus = 'Active';"
  Set rsItems = Server.CreateObject("ADODB.Recordset")
  rsItems.Open strSQL, objConn
  If Not rsItems.EOF Then
    Response.Write _
      "<TABLE BORDER=""1"" CELLSPACING=""3"" CELLPADDING=""3"">" & _
      " <TR>" & _
      " <TH>Item ID"
               If Session("PersonID") <> "" Then
                 Response.Write "<BR>Click to Bid"
               End If
           Response.Write "</TH>" & _
      " <TH>Name</TH>" & _
      " <TH>Asking Price</TH>" & _
      " <TH>Date Available</TH>" & _
      " <TH>Begin Time</TH>" & _
      " <TH>End Time</TH>" & _
      " <TH>BidExpiration Date</TH>" & _
      " <TH>Picture1</TH>" & _

      " </TR>"
    Do While Not rsItems.EOF
      Response.Write "<TR ALIGN=CENTER>"
      If Session("PersonID") <> "" Then
        Response.Write _
          "<TD><A HREF=""Bid.asp?Item=" & rsItems("ItemID") & """>" & _
          rsItems("ItemID") & "</A></TD>"
      Else
        Response.Write "<TD>" & rsItems("ItemID") & "</TD>"
      End If
      Response.Write _
        "<TD>" & rsItems("ItemName") & "</TD>" & _
        "<TD>" & FormatCurrency(rsItems("AskingPrice")) & "</TD>" & _
        "<TD>" & rsItems("DateAvailable") & "</TD>" & _
        "<TD>" & rsItems("TimeAvailableBegin") & "</TD>" & _
        "<TD>" & rsItems("TimeAvailableEnd") & "</TD>" & _
        "<TD>" & rsItems("BidExpirationDate") & "</TD>" & _


 ************************************************** *********
 This is what I tried it didn't work comes up type mismatch
************************************************** ************

  "<TD>" & FormatOLEObject(rsItems("Picture1")) & "</TD>" & _



      "</TR>"
      rsItems.MoveNext
    Loop
    Response.Write "</TABLE>"
    rsItems.close
    Set rsItems = Nothing
  Else
    Response.Write "<CENTER><H2>No items currently for sale</H2></CENTER>"
  End If
%>
<P>

</BODY>
</HTML>
  #2 (permalink)  
Old June 2nd, 2005, 04:04 PM
Registered User
 
Join Date: May 2005
Location: , Bedfordshire, United Kingdom.
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Default

http://www.maddogs-asp.com/forum/for...ts.asp?TID=671
  #3 (permalink)  
Old June 16th, 2005, 07:29 PM
Authorized User
 
Join Date: May 2005
Location: Newark, Ohio, USA.
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Default






I tried the code suggested it doesn't work so far. Here is the code I tried:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX

<%
Dim rsItems
  strSQL = "SELECT * FROM Item " & _
           "WHERE ItemName = 'Connie' " & _
           "AND ItemStatus = 'Active';"
  Set rsItems = Server.CreateObject("ADODB.Recordset")
  rsItems.Open strSQL, objConn
Response.ContentType = "image/jpeg"
Response.BinaryWrite rsItems("Picture")
%>

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX

It opens the right data file but it doesn't display a picture. I am using access and Microsoft Photo Editor 3.0 Photo. Any help will be greatly appreciated. Thank you

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX

Mike's Service
Scheduling
Welcome Connie
3 'ÿÿÿÿPhoto Editor PhotoMSPhotoEd.3 MSPhotoEd.3ˆ ÐÏࡱá>þÿ !þÿÿÿ "#$%&'()*+,-./01ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿýÿÿÿ!þÿÿÿþÿÿÿýÿÿÿý ÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿ ÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿ ýÿÿÿýÿÿÿ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€Root Entryÿÿÿÿÿÿÿÿ@9”Þ6Ï•>À¨@)é ‹8†ÊrÅ@Ole ÿÿÿÿÿÿÿÿÿÿÿÿCompObjÿÿÿÿu CONTENTSÿÿÿÿÿÿÿÿÿÿÿÿìþÿÿÿ ÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿ°ÿÿýýÿþþÿþþÿþþÿýýÿû ýùùûööøôôöòòôëæìíèîñìþÿ ÿÿÿÿ@9”Þ6Ï•>À¨@)é#Microsoft Photo Editor 3.0 PictureMSPhotoEditor MSPhotoEd.3ô9²qÿöóþöóþÿùÿúÿÿÿÿÿ ÿÿüÿöóúýüÿüûùûúøûúøýûüÿý ÿþÿÿþÿÿýÿþýùÿÿûÿÿ88óùøóúù ôûøóù÷òøúõûúøûöô÷ñïòôòõüü üÿþùúùõóïîý÷÷ÿøùœ’““‡‡ ¢ †wrš‹„vug\QC8®Ÿ˜¾¯¬.tliÉÁ¾³ ¨Ê¿ǿ¼©¡ž¬¤¡‚zw}wy„~€„~€ z|†€‚“”Ž‹…‡|y„Š•˜ • ‘Ž™ˆ…‘Ž™¬©´ÃÀËÜ×Þïêññ õðêôÿûÿÿüÿâÜèľÊĽÍÚÓãêã êãóéâòðéùñêúêã󁂃„…†‡ ˆ‰Š‹ŒŽ‘’“”•–—˜™š œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹ º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêë ìíîïðñòóôõö÷øùúûüýþÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€‚ƒ„…†‡ ‰Š‹ŒŽ‘’“”• —˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ²³´µ¶·¸¹º»¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâ äåæçèéêëìíîïðñòó ôõö÷øùúûüýþÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€‚ƒ„…†‡ ‰Š‹ŒŽ‘’“”• —˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ²³´µ¶·¸¹º»¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâ äåæçèéêëìíîïðñòó ôõö÷øùúûüýþÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€‚ƒ„…†‡ ‰Š‹ŒŽ‘’“”• —˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ²³´µ¶·¸¹º»¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâ äåæçèéêëìíîïðñòó ôõö÷øùúûüýþÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€‚ƒ„…†‡ ‰Š‹ŒŽ‘’“”• —˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ²³´µ¶·¸¹º»¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâ äåæçèéêëìíîïðñòó ôõö÷øùúûüýþÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€‚ƒ„…†‡ ‰Š‹ŒŽ‘’“”• —˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ²³´µ¶·¸¹º»¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâ äåæçèéêëìíîïðñòó ôõö÷øùúûüýþÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€‚ƒ„…†‡ ‰Š‹ŒŽ‘’“”• —˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ²³´µ¶·¸¹º»¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâ äåæçèéêëìíîïðñòó ôõö÷øùúûüýþÿ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€‚ƒ„…†‡ ‰Š‹ŒŽ‘’“”• —˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯° ²³´µ¶·¸¹º»¼½¾¿ÀÁ ÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒ ÓÔÕÖ×ØÙÚÛÜÝÞßàáâ äåæçèéêëìíîïðñòó ôõö÷øùúûüýþÿ       þÿÿÿþÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿ ÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿý ÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿýÿÿÿ345 6789:;<=>?@ABCDEFGHIJKLMN OPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv wxyz{|}~€âÙ#.,Ñ1XKíá÷èÜ ðìáòãØèòçõìáñâÖêïãùç×òùéÿ áÑìïßúêÚõäÔïðàûîÞùêÞòåÙíå ÙíåÙíéÝñèÜòæÚòäØðåÕðèØóç× òéÙöëÛøæÕõëÚúçÖøëÜóäÕìäÕì èÙðåÖíðáøîßöéÚñëÛõëÛõç×ñæ ÖðîÞøãÓíáÑëðàúáÓêïáúàÒìíß öä×éåÖéç×ñçÖøáÙîæÞöìãÿâØó èÞöçÞóçÝöëàþèÛ÷ä×óâÕñíàüé ÜøéÜøëÞúæÙõëÞøä×ñßÒìïâüïâ üä×ñëÞøëÞøæÞóëãøæÞóçßôâÚï úóÿåÞðçàòçßöçßöïçþàØïæÞõï çþëãúèà÷êßíðåõíâóìàôñåùæÚ îòçøèÝîêÚ÷ìÝôóæ÷ìßñêÞôëâ÷ æÞíñêòåÝõôìÿìâúçÞóïæùìáòï äôîãóçâøêãõñéöïâôñáûç×ôüî ÿìÞõñãôõæùìÝôñãüïâüùíÿêÞô îåøéáðíäõëâóôéúðåöõéýýñÿö éý÷ïþîæõøðÿîæóóëøëãðƾ˝ ¤£«§¦®ÖÔßÚ×ââÞìÞÚéÞ×éãÜîá ØíåÜñèßôãÚíáØëéàñßÖçèßðßÛ éîêøáÝëãßíÞÚèèäòéåóÝÙçâÞï ÝÙêçãôâÞïåáòíéúáÝîãßðàÝèã àëäàîçãñßÛéãßîèäóåáðèåîåâ íÜØææâóèäõåáðêæôèåðéãñåßí ïé÷êäòêäòïé÷åßíêäòäàîîêøä àîâÞììèöîêøâÞìèäòìæôçáïçá ïïèøêãóæßñåÞððéûêãóêãóêãó êãóêãóêãóêãóêãóêãóêãóêãóê ãóéâòéâòéâòéâòêãóêãóêãóêã óêãóêãóêãóêãóëåóëåóëåóëåó ëåóëåóëåóëåóêãóëäôëäôëäôë äôëäôëäôêãóëäôëäôëäôëäôëä ôëäôëäôëäôíæöíæöëäôëäôëäô ëäôíæöíæöðéùîç÷ìåõëäôêãóë äôíæöîç÷éãñíçõêäðèåîóñöüú ýýûüýýûþÿúûü÷õöñÿÿûÿÿû÷øó ÿÿûüýøýýûþþüÿÿýÿÿýÿÿýÿÿýþ þüýýûûûûûûûüüüþþþÿÿÿÿÿÿÿÿ ÿÿÿÿüýøüýøüýøüýøýþùþÿúÿÿû ÿÿûùìÙâÔ·ÙÊ¡ßÎ ßΣÝ̲åÔÍíÜâÞÝÛÎÊÉÈÃÀÚÐÎè Ú×àÏÈáÌÇõÞØéÖÐòàÜõãáïÜÞðÝ áúéñÿóýÿóÿÿòüøìöøî÷ôì÷ìéò óòúúúÿñôýÄÇÚ§©¾¯±È¼ÀÛ°³Ò¶ ¹Ú¾Â笰ձ¯ðµ³ò¹¸ô¼»ô»»ï¹¹ 뷸淸滸㾼äÀ¾ãÂÁàÅÅÝÌÍá ÖØçÞàìëìðóôøõôúùøþúùÿåäìß Üåöóüéäèîéí

  #4 (permalink)  
Old June 18th, 2005, 10:48 AM
Registered User
 
Join Date: May 2005
Location: , Bedfordshire, United Kingdom.
Posts: 9
Thanks: 0
Thanked 0 Times in 0 Posts
Default

To be honest I got a similar result and although this seems to be on the right track for what you are trying to do there is still something missing.
Although the content of the file is transferred it is not displayed as a binary image.
I do however have a different solution but it does not quite do what you want.
If you put the file name of the image 'Image.bmp' or 'Image.jpg' or ‘Image.gif’ etc. in an extra text column called say 'Picture' in the item table,
then you can read the name of the file in the recordset.
I stored the image files in a directory which is at the same level as the root of my website called 'Images'. ‘Images’ is also a virtual directory in IIS with read permission.
To reach my ‘image’ directory you need to move to '../Images/' from the directory containing my web site but it could be a sub directory of your website which would just be '/Images/' relatively speaking.
So in the BrowseListings.asp file I have for the headings:-

  rsItems.Open strSQL, objConn
  If Not rsItems.EOF Then
    Response.Write _
      "<TABLE BORDER=""1"" CELLSPACING=""3"" CELLPADDING=""3"">" & _
      " <TR>" & _
      " <TH>Item ID"
               If Session("PersonID") <> "" Then
                 Response.Write "<BR>Click to Bid"
               End If
           Response.Write "</TH>" & _
      " <TH>Picture</TH>" & _
      " <TH>Name</TH>" & _
      " <TH>Asking Price</TH>" & _
      " <TH>Listing Date</TH>" & _
      " <TH>Current Bid</TH>" & _
      " <TH>Bid Time</TH>" & _
      " </TR>"

Thats the headings and then the table data.........

    Dim objCmd, rsBid
    Set objCmd = Server.CreateObject("ADODB.Command")
    Set objCmd.ActiveConnection = objConn
    strSQL = "SELECT Max(BidAmount) AS MaxBidAmount, " & _
                    "Max(TimeStamp) AS LastBidTime FROM Bid"
    objCmd.CommandType = adCmdText
    Do While Not rsItems.EOF
      Response.Write "<TR ALIGN=CENTER>"
      If Session("PersonID") <> "" Then
        Response.Write _
          "<TD><A HREF=""Bid.asp?Item=" & rsItems("ItemID") & """>" & _
          rsItems("ItemID") & "</A></TD>"
      Else
        Response.Write "<TD>" & rsItems("ItemID") & "</TD>"
      End If
      Response.Write _
        "<TD><IMG height= 100 width = 100 SRC= '../Images/" & rsItems("Picture") & "'></TD>" & _
        "<TD>" & rsItems("ItemName") & "</TD>" & _
        "<TD>" & FormatCurrency(rsItems("AskingPrice")) & "</TD>" & _
        "<TD>" & FormatDateTime(rsItems("ListingDate"),2) & "</TD>"

      objCmd.CommandText = strSQL & " WHERE ItemID = " & rsItems("ItemID") & ";"
etc......

The key is to make the source string SRC= '../Images/" & rsItems("Picture") & "' point to the direcory and image file you want

I know that this works to display images pointed to from the database but these images
are not stored in the database as you wanted, as OLEobjects, just the Text names of the files.
I think that this is a better method.


Similar Threads
Thread Thread Starter Forum Replies Last Post
The OLE object is empty leegweaver Access VBA 4 June 20th, 2008 07:59 AM
embeding an OLE object ricespn Beginning VB 6 0 August 17th, 2007 12:47 AM
ole object insertion vinodkselpy Crystal Reports 0 March 1st, 2007 07:31 AM
OLE Object Type? j.gonsalves@ntlworld.com Access VBA 1 October 20th, 2004 02:16 PM
ASP 0177 Object server is stopping when OLE servic not24 Classic ASP Components 2 August 12th, 2003 02:58 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.