ASP Hazır kodlar

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
15
Konum
İstanbul
Sayfayı her yenilediğinizde farklı resim görüntülemek istiyorsanız :

Kod:
<% 
Randomize 
Resim = INT(Rnd * 5)+1 
Response.write "<img src=klasor/"&Resim&".jpg>" 
%>
 

qdin

0
İyinet Üyesi
Katılım
10 Şubat 2006
Mesajlar
1,677
Reaction score
1
Konum
Ankara
Merhaba,
bu bölüm ASP bölümü olsun o zaman buda Uzun kelimeleri ayırmak için

Dim GELEN_KELIME, AYR_KELIME
GELEN_KELIME ="MerhaBA ÇOKKKKKKMMMMMMLLMMMMMMMLÝLEMUKEÝAMLYUÝEKAYUMLÝEAK"
AYR_KELIME = 15

Function METINBOL(GELEN)
MARRAY = SPLIT(GELEN, " ") : TOPKELIME = UBound(MARRAY,1)
For I = 0 To TOPKELIME
KUZUN = Len(MARRAY(I))
If KUZUN > AYR_KELIME Then
BAS = 1 : BIT = AYR_KELIME
For J = 1 To (KUZUN/AYR_KELIME)+1
RESPONSE.Write MID(MARRAY(I),BAS,BIT) & " "
BAS = BAS + AYR_KELIME : If BIT + AYR_KELIME < AYR_KELIME Then BIT = BIT + AYR_KELIME Else BIT = AYR_KELIME
Next
Else
RESPONSE.Write MARRAY(I) & " "
End If
Next
End Function





Kullanımı:

Code:

<% METINBOL(GELEN_KELIME) %>
 

Gamend

0
İyinet Üyesi
Katılım
11 Mart 2005
Mesajlar
1,508
Reaction score
1
Konum
Ankara
Arkadaşlar, başlık sabitlenmiş ve "ASP Hazır kodlar" olarak değiştirilmiştir. Burada ASP kodlarını paylaşalım ve geniş bir kod arşivi oluşturalım. Hepimiz faydalanırız. Benim bildiğim kodu belki diğer üye bilmeyecek, onun bildiğini de ben bilmeyeceğim.
 

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
15
Konum
İstanbul
Evet iyi fikir. Ama ayrıca burada mümkün olduğu kadar sadece kod yazılsın. Gelipte "süper" "bravo rep veriyorum" "aa ne güzel, çok işime yarayacak" tarzından mesajlar yazıpta konuyu dağıtmasın. Kod arayan sadece kod bulsun burada geyik değil... :)

İyi Çalışmalar
 

qdin

0
İyinet Üyesi
Katılım
10 Şubat 2006
Mesajlar
1,677
Reaction score
1
Konum
Ankara
Kelimelerin baş harflerini büyüt


Kod:
[FONT=Courier New]<%
[COLOR=blue]Function[/COLOR] Proper(X)
[COLOR=green]'Return a String With the first letter of the word capitalised[/COLOR]
[COLOR=blue]If[/COLOR] IsNull(X) [COLOR=blue]Then[/COLOR]
[COLOR=blue]Exit[/COLOR] [COLOR=blue]Function[/COLOR]
[COLOR=blue]Else[/COLOR]
lowercaseSTR = [COLOR=blue]CStr[/COLOR](LCase(X))
OldC = [COLOR=red]" "[/COLOR]
MyArray = Split(lowercaseSTR,[COLOR=red]" "[/COLOR])
[COLOR=blue]For[/COLOR] IntI = [COLOR=blue]LBound[/COLOR](MyArray) [COLOR=blue]To[/COLOR] [COLOR=blue]UBound[/COLOR](MyArray)
[COLOR=blue]For[/COLOR] I = 1 [COLOR=blue]To[/COLOR] [COLOR=blue]Len[/COLOR](MyArray(IntI))
[COLOR=blue]If[/COLOR] [COLOR=blue]Len[/COLOR](MyArray(IntI)) = 1 [COLOR=blue]Then[/COLOR]
newString = newString & UCase(MyArray(IntI)) & [COLOR=red]" "[/COLOR]
[COLOR=blue]ElseIf[/COLOR] I=1 [COLOR=blue]Then[/COLOR]
newString = newString & UCase(Mid(MyArray(IntI), I, 1))
[COLOR=blue]ElseIf[/COLOR] I = [COLOR=blue]Len[/COLOR](MyArray(IntI)) [COLOR=blue]Then[/COLOR]
newString = newString & Mid(MyArray(IntI), I, 1) & [COLOR=red]" "[/COLOR]
[COLOR=blue]Else[/COLOR]
newString = newString & Mid(MyArray(IntI), I, 1)
[COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR]
[COLOR=blue]Next[/COLOR]
[COLOR=blue]Next[/COLOR] [COLOR=green]'IntI[/COLOR]
Proper = Trim(newString)
[COLOR=blue]End[/COLOR] [COLOR=blue]If[/COLOR]
[COLOR=blue]End[/COLOR] [COLOR=blue]Function[/COLOR]
%>[/FONT]
 

qdin

0
İyinet Üyesi
Katılım
10 Şubat 2006
Mesajlar
1,677
Reaction score
1
Konum
Ankara
Handling Spaces in URL

Kod:
.vbScript{color:black;background-color:white;font-size:10pt;font-family:Courier New;}.vbScript B{color:blue}[FONT=Courier New]Netscape sometimes has problems handling strings [COLOR=blue]With[/COLOR] a space [COLOR=blue]In[/COLOR] it when using the Response.Redirect method. [COLOR=blue]To[/COLOR] overcome this problem use the Server.URLEncode([COLOR=red]"variable name"[/COLOR]) [COLOR=blue]With[/COLOR] the [COLOR=blue]String[/COLOR].

strField = Server.URLEncode(strField)
Response.Redirect([COLOR=red]"yourpage.asp?Field=strField"[/COLOR])
[/FONT]
 

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
15
Konum
İstanbul
Güncel Döviz Kurları Scripti

Merkez Bankası'ndan sizi hiç zahmete sokmadan güncel döviz kurlarını çekmektedir. " http://www.tcmb.gov.tr/kurlar/today.html " adresinden parametreleri alarak döviz kurları tablosunu çoğaltmanız mümkündür. Bu scripti editleyerek http://www.garanti24.com adresinde bir uygulama yapmıştım. Her portalda kullanılabilir güzel bir döviz kuru scripti... Sorun yaşayan veya yapamayan arkadaşlara yardımcı olabilirim P.M'den ;)

Kod:
<%
strAdres = "http://www.tcmb.gov.tr/kurlar/today.html"

Public Function VeriAl(strGelen)
Set objVeriAl = Server.CreateObject("Microsoft.XMLHTTP" )
With objVeriAl
  .Open "GET" , strGelen, FALSE
  .sEnd
VeriAl =  .Responsetext
End With
SET objVeriAl = Nothing
End Function

strVeri = VeriAL(strAdres)
iDolar=InStr(strVeri,"USD" )
strDolarAlis=Mid(strVeri,iDolar+50,10)
strDolarSatis=Mid(strVeri,iDolar+51,10)

iEuro=InStr(strVeri,"EUR" )

strEuroAlis=Mid(strVeri,iEuro+38,11)
strEuroSatis=Mid(strVeri,iEuro+50,11)
%>
<html>
<title>TCMB Döviz Kurları</title>
<body>
<table width="20%" border="0" cellspacing="0" style="border: 1px solid #D7D7D7">
<tr>
<td nowrap width="99%" bgcolor="#E1E1E1" colspan="2"><strong>
<font face="Verdana"><b><font color="#FF0000" style="font-size: 7pt"> DOLAR</font></b></font></strong></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">ALIş</font></td>
<td width="92%">
<div align="left"><font face="verdana" size="1">
<p align="right"> <%=strdolaralis%> YTL 
</font></div></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">SATIş</font></td>
<td width="92%">
<div align="left"><font face="verdana" size="1">
<p align="right"> <%=strdolarsatis%> YTL 
</font></div></td>
</tr>
<tr>
<td colspan="2" style="border-top: 1px solid #C0C0C0"> </td>
</tr>
<tr>
<td colspan="2" bgcolor="#E1E1E1"><strong><font face="Verdana"><b>
<font color="#0099CC" style="font-size: 7pt"> </font><font color="#FF0000" style="font-size: 7pt">EURO</font></b></font></strong></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">ALIş</font></td>
<td width="92%">
<p align="right"><font face="verdana" size="1"> <%=streuroalis%> YTL </font></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">SATIş</font></td>
<td width="92%">
<p align="right"><font size="1" face="verdana"><%=streurosatis%> YTL</font><font size="1">
</font> </td>
</tr>
</table>
</body>
</html>
 

murdock

0
İyinet Üyesi
Katılım
28 Mart 2005
Mesajlar
1,273
Reaction score
3
sitesine burç eklemek isteyenler için bir örnek kodları teraziburcu.asp nin içine yapıştırın deneyin. ASPtear destekli serverınızda haberURL deki adresden
baslangic = "><strong><big>"
bitis = "<br> </big></strong></font>"
gibi örnekteki başlangıç ve bitis html kodunu belirterek ortasınki kodları çekmesini sağlayabilirsiniz.Bu bir örnektir geliştirip kendinize görede uyarlayabilirsiniz.

Kod:
<%
const Request_GET = 2
Dim haberURL, haberim, basliklar
haberURL = "http://www.muneccim.com/gunluk_fal/bugun.asp?burc=7"
Set alma = CreateObject("SOFTWING.ASPtear" )
Session.CodePage = 1254

On Error Resume Next
haberim = alma.Retrieve(haberURL, Request_GET, "" , "" , "" )
Session.CodePage = 1254
If Err.Number <> 0 Then
Response.Write "HATA!!!!!!! Lütfen Sayfayi Yeniden Yükleyiniz... "
Response.End
End If
dim baslangic , bitis
baslangic = "><strong><big>"
bitis = "<br> </big></strong></font>"
dim x , abc
x = 0
abc = 0
dim lale
lale = ""
Do Until abc = 2
x = x + 1
If Mid(haberim,x,Len(bitis)) = bitis and abc = 1 Then
abc = abc + 1
End If
If Mid(haberim,x,Len(baslangic)) = baslangic Then
abc = abc + 1
Else
If abc = 1 Then
lale = lale + Mid(haberim,x,1)
End If
End If
Loop
Function seklesok(hammadde)
Dim gecicigeyik
gecicigeyik = hammadde
gecicigeyik = Replace(gecicigeyik, "" , "" , 1, -1, 1)
gecicigeyik = Replace(gecicigeyik, "" , "" & vbCrLf, 1, -1, 1)
seklesok = gecicigeyik
End Function
Response.Write "<p align='justify'><font size=1 face=verdana color=000000>"
Response.Write seklesok(lale)
Response.Write "</b></font></p>"
%>

kaynak : genel bi siteden alınmış birçok asp sitesinde belirtilmiştir.Bilmeyenler için burdada yayınlamak istedim.
 

CMYLMZ

0
İyinet Üyesi
Katılım
8 Aralık 2006
Mesajlar
1,775
Reaction score
0
Konum
Forumdan ayrıld
ip adresi bulmak ve proxy den gelip gelmedigini anlamak için kullanılacak kod.

Kod:
<%
Response.Write "Ip Adresi = " & Request.ServerVariables("REMOTE_ADDR") & "<br>"
%>

<%
 If Request.ServerVariables("HTTP_X_FORWARDED_FOR") <> "" Then
  Response.Write "Istek Yapan Ip : " & Request.ServerVariables("HTTP_X_FORWARDED_FOR")
 End If
%>
 

murdock

0
İyinet Üyesi
Katılım
28 Mart 2005
Mesajlar
1,273
Reaction score
3
Kod:
<%
deneme1=Request.QueryString("deneme1")
%>
yukardaki kodla deneme.asp?deneme1=isim şeklinde yazdığınızda

Kod:
<%=Request.QueryString("deneme1")%>
yukardaki kodu sayfanızın neresine koyarsanız ordana deneme.asp?deneme1=isim gönderdiğimiz komuttaki isim kısmı sayfanızda yazar.

Kod:
deneme1=Request.QueryString("deneme1")
Set AYDIN = server. CreateObject("ADODB.Recordset")
kayit = "Select * from arama where '%"& deneme1 &"%'"
AYDIN.Open kayit,Sur2,1,3

access db için kullanmak isterseniz yukardaki gibi deneme1 i isteğinize göre editleyerek yolladığınız isim kısmını where in önüne yazar ve dbdeki arama tablosunkida isim geçen kayıtları alır.

-------------

Kod:
<%
deneme2=request.form("deneme2")
%>
yukardaki kodlada form olarak gönderdiğiniz

Kod:
<form method=post>
post methoduyla yukardaki gibi deneme.asp nin sonuna eklemeden ve adres çubuğunda göstermeden action=http://www.adres.com yerine

Kod:
<input name="deneme2" type="text" size="40" />
yoluyla gönderilen istemleri

Kod:
<%=Request.form("deneme2")%>
yukardaki kodu sayfanızın neresine koyarsanız gene yukarda belirttiğim formda ne gönderirseniz onu sayfanızda gösterir.

Kod:
deneme2=request.form("deneme2")
Set AYDIN = server. CreateObject("ADODB.Recordset")
kayit = "Select * from arama where '%"& deneme2 &"%'"
AYDIN.Open kayit,Sur2,1,3

access db için kullanmak isterseniz yukardaki gibi (deneme2 yi isteğinize göre editleyebilirsiniz) yolladığınız yazıyı where in önüne yazar ve dbdeki arama tablosunkida isim geçen kayıtları alır.

elimden geldiğince anlatmaya çalıştım. bunu birçok yerde kullanıyorum. anlaşılmayan bişi varsa özelden yardımcı olmaya çalışırım.Ayrıca istediğiniz sormak istediğiniz kod vs sorun olursa sorabilirsiniz.
 

murdock

0
İyinet Üyesi
Katılım
28 Mart 2005
Mesajlar
1,273
Reaction score
3
youtube bir videoyu örneğin http://www.youtube.com/v/pLIWJn2RJQw&autoplay=1 video urlsini url tablosunda ve id 1 olarak bulunduğunu varsayalım.

aşağıdaki kodu ytb.asp olarak kaydedin.

ytb.asp?id=1

yazdığınızda yukardaki youtube video linkini direkt kullanmak ve göstermek yerine sitenizde http://www.adres.com/ytb.asp?id=1 diyerekde video yu
kendi sitenizdeymiş gibi gösterebilirsiniz.

Kod:
<%
Set Sur = Server.CreateObject("ADODB.Connection")
Sur.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("klasor/db.mdb")
%>
<%deisken=cint(request.querystring("id"))
set id = Request.QueryString("id")
Set conn=server.createobject("adodb.connection")
dsnpath="DRIVER={MICROSOFT ACCESS DRIVER (*.MDB)}; "
dsnpath=dsnpath & "DBQ=" & Server.MapPath("klasor/db.mdb")
conn.open dsnpath
SQL = "select * from youtube where id="
SQL = SQL & id
Set AYDIN=conn.execute(sql)
Session.CodePage = 1254
%>
<%

set rs=server.createobject("adodb.recordset")
sql="select youtube.* from youtube where id="
sql=sql & deisken
rs.open sql,Sur,1,3

 %>
<% Response.Redirect rs("url") %>
 

murdock

0
İyinet Üyesi
Katılım
28 Mart 2005
Mesajlar
1,273
Reaction score
3
hızlı veri çekmek için tek çözüm : XMLHTTP

Arkadaşlar asptear ı biliyorsunuz rahat veri çekmek için kullanılıyor..Ama benimde çok yaşadığım olay 3-4 tane aynı anda çalıştırılınca bekletiyor ve hızlı açılmıyor..

bunun için size hızlı bir alternatifi olan ve kodlaması nerdeyse aynı olan ServerXMLHTTP bileşeni sayesinde veri çekmek için bilgiler vericem :

Önce bir örnek olarak herhangi bi siteyi xmlhttp.asp dosyasından açarak nası çekildiğini gösterelim..

Kod:
<%
vericekilecekadres = "http://www.domain.com/sayfa.asp"
Dim objXmlHttp 
Set objXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXmlHttp.Open "GET" , vericekilecekadres , false

objXmlHttp.sEnd 

alinanveri = objXmlHttp.ResponseText 
Set objXmlHttp = Nothing
response.write alinanveri
%>

üstteki kodu xmlhttp.asp ye yapıştırıp açtığımızda veri çekilecek adresin tüm kaynak kodunu(bi sayfaya sağ tıklayın kaynak kodunu yani html kodlarını gösterdiğimizdeki) alır ve yayınlar..

üstte gösterdiğim bi sayfayı tamamen çekmek için kullanılıyor.. isteğe göre veri çekmek için yardımcı nesneler var onları tanıtalım.. :

left
right
mid
instr
trim
lcase
ucase
len
split

Bu nesneleri örnek ile açıklayalım.

Left kullanımı :

Kod:
<%
isim = "forum.iyinet.com"
yazdir = left(isim,6)
response.write yazdir
%>

Açıklama(Left) : Kullanımdaki gibi verilen rakamı soldan başlayarak karakter sayısına kadar olan yazıyı alır.Bu örnekte ekrana forum.iyin olarak çıkar.


Right kullanımı :

Kod:
<%
isim = "forum.iyinet.com"
yazdir = right(isim,6)
response.write yazdir
%>

Açıklama(right) : Sağ tarafdan başlayarak verilen rakam kadar olan yazıyı alır.Bu örnekte ekrana iyinet.com olarak bir yazı çıkar.


Mid kullanımı :

Kod:
<%
isim = "forum.iyinet.com"
yazdir = mid(isim,2,5)
response.write yazdir
%>

Açıklama(mid) : Sol taraftan 2. ve 5. karakter arası olan yazıları alır.Çıktısı orum.iyine gibi olaraktır.Eğer 2. sayı olan(bu örnekte 5 rakamı) girilmezse o karakterden başlayarak değerin sonuna kadar olan yazıyı alır.


Instr kullanımı :

Kod:
<%
isim = "forum.iyinet.com"
yazdir = Instr(isim,"com")
response.write yazdir
%>

Açıklama(Instr) : Baştan başlayarak "com" diye belirmiş olduğumuz yazıya kadar olanki verinin karakter sayısını alır.Bu örnek te çıktısı 13 şeklindedir.Bunun nedeni "forum.iyinet." değerinde 13 tane karakter vardır.


Trim kullanımı :

Kod:
<%
isim = "  forum.iyinet.com    "
yazdir = Trim(isim)
response.write yazdir
%>

Açıklama(Trim) : Veri'deki sağdan ve soldan olan bütün boşlukları siler.Bu örneğimizde çıktısı "forum.iyinet.com" olarakdır.Sağdan ve soldan bütün boşluklar atılmış hali.


Ucase kullanımı :

Kod:
<%
isim = "forum.iyinet.com"
yazdir = Ucase(isim)
response.write yazdir
%>

Açıklama(Ucase) : Veri'deki bütün karakterleri büyük harf olarak çıkartır.Örneğimizdeki değerin çıktısı FORUM.IYINET.COM olaraktır.


Lcase kullanımı :

Kod:
<%
isim = "FORUM.iyinet.com"
yazdir = Lcase(isim)
response.write yazdir
%>

Açıklama(Lcase) : Veri'deki bütün harfleri küçük harfe dönüştürür.Ucase'in tam tersidir.Örnekteki çıktısı forum.iyinet.com şeklindedir.


Len Kullanımı :

Kod:
<%
isim = "forum.iyinet.com"
yazdir = Len(isim)
response.write yazdir
%>

Açıklama(Len) : Değerin kaç karakterden oluştuğunu alır.Örnekdeki çıktısı 16 şeklindedir.Çünkü forum.iyinet.com yazısı 16 karakterden oluşmaktadır.

Split kullanımı :

Diyelimki Querystring alıyorsunuz.Sayfamız şöyle geliyor.

sayfa.asp?1234|1234

Burada 2 adet ID numarası geçiyor.Bunların ismi yok fakat biz bunları SPLıT aracılığı ile alıp işletebiliriz.

Kullanımı şöyledir.

Kod:
<%

obje = split(obje,"|")

obje(0)
obje(1)

%>

Obje dediğimiz değişkenimizdir.Objenin içeriğindeki "|" lerin geçtiği yerlerden itibaren bölme işlemi yapıyor ve obje(0) yazarak bunu yazdırıyoruz.

"|" işareti yerine istediğinizi kullanabilirsiniz.Mesela "-" bile kullanırsınız.

Kısaca örneğimizi yazalım.Sayfamızın ismi sayfa.asp olsun ve şu şekilde açılsın "sayfa.asp?1234-1234"

Buradaki 2 adet ID numarası alıp değişkenler ile yazdıralım.

Kod:
<%

obje = request.querystring

obje = split(obje,"-")

response.write obje(0) & "<br>"
response.write obje(1) & "<br>"

%>

"sayfa.asp?1234-1234" Böylece bu sayfa açıldığında çıktısı :

1234
1234

şeklinde olacaktır.Split ile böylece sayfalarınızda stringlere ad vermeden yada gizleyerek rahatça kullanabilirsiniz.

Örnek olarak birde size döviz kurlarını almak için kod vereyim :

Kod:
<%
strAdres = "http://www.tcmb.gov.tr/kurlar/today.html"

Public Function VeriAl(strGelen)
Set objVeriAl = Server.CreateObject("Microsoft.XMLHTTP" )
With objVeriAl
  .Open "GET" , strGelen, FALSE
  .sEnd
VeriAl =  .Responsetext
End With
SET objVeriAl = Nothing
End Function

strVeri = VeriAL(strAdres)
iDolar=InStr(strVeri,"USD" )
strDolarAlis=Mid(strVeri,iDolar+50,10)
strDolarSatis=Mid(strVeri,iDolar+51,10)

iEuro=InStr(strVeri,"EUR" )

strEuroAlis=Mid(strVeri,iEuro+38,11)
strEuroSatis=Mid(strVeri,iEuro+50,11)
%>
<html>
<title>TCMB Döviz Kurları - Kaynak : forum.iyinet.com</title>
<body>
<table width="20%" border="0" cellspacing="0" style="border: 1px solid #D7D7D7">
<tr>
<td nowrap width="99%" bgcolor="#E1E1E1" colspan="2"><strong>
<font face="Verdana"><b><font color="#FF0000" style="font-size: 7pt"> DOLAR</font></b></font></strong></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">ALIş</font></td>
<td width="92%">
<div align="left"><font face="verdana" size="1">
<p align="right"> <%=strdolaralis%> YTL 
</font></div></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">SATIş</font></td>
<td width="92%">
<div align="left"><font face="verdana" size="1">
<p align="right"> <%=strdolarsatis%> YTL 
</font></div></td>
</tr>
<tr>
<td colspan="2" style="border-top: 1px solid #C0C0C0"> </td>
</tr>
<tr>
<td colspan="2" bgcolor="#E1E1E1"><strong><font face="Verdana"><b>
<font color="#0099CC" style="font-size: 7pt"> </font><font color="#FF0000" style="font-size: 7pt">EURO</font></b></font></strong></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">ALIş</font></td>
<td width="92%">
<p align="right"><font face="verdana" size="1"> <%=streuroalis%> YTL </font></td>
</tr>
<tr>
<td nowrap width="7%"><font face="Verdana" style="font-size: 7pt; ">SATIş</font></td>
<td width="92%">
<p align="right"><font size="1" face="verdana"><%=streurosatis%> YTL</font><font size="1">
</font> </td>
</tr>
</table>
</body>
</html>

XmlHTTP Türkçe karakter problemini çözmek için :

XmlHTTP ile veri çektiğiniz zaman türkçe karakter ler düzgün çıkmamaktadır.Bunun nedeni veriyi alırken "text" yöntemi ile alınıyor olması.Bunun yerine "Body" biçiminde alıcaz.Fakat bu veriyi ekrana yazdırırken sadece ? çıktığını görürsünüz.Bunun nedeni aldığınız verinin Binary olmasıdır.Bu binary'yi bir fonksiyon ile Text e çevirebilirsiniz.Bu şekilde kullanılırsa XmlHTTP de Türkçe karakter problemi ortadan kalkmaktadır.

Normalde XmlHTTP ile veri alınırken :

Kod:
<%
strURL = "http://www.iyinet.com/"
Dim objXmlHttp 
Set objXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXmlHttp.Open "GET" , strURL , false

objXmlHttp.sEnd 

strHTML = objXmlHttp.ResponseText 
%>

gibi bir kod kullanırız.Bu kod ile veri alırsanız Türkçe karakterlerinizin ? şeklinde çıktığını görürsünüz.Bunun yerine BinaryToText isminde bir fonksiyon kullanacağız.

Fonksiyonumuz aşağıdadır.

Kod:
<%
Private  Function BinaryToString(Binary)
Dim  cl1, cl2, cl3, pl1, pl2, pl3
Dim  L
cl1 = 1
cl2 = 1
cl3 = 1
L = LenB(Binary)
Do  While cl1<=L
pl3 = pl3 &  Chr(AscB(MidB(Binary,cl1,1)))
cl1 = cl1 + 1
cl3 = cl3 + 1
If  cl3>300  Then
pl2 = pl2 & pl3
pl3 = ""
cl3 = 1
cl2 = cl2 + 1
If  cl2>200  Then
pl1 = pl1 & pl2
pl2 = ""
cl2 = 1
End  If
End  If
Loop
BinaryToString = pl1 & pl2 & pl3
End  Function
%>

Bu fonksiyonu kullanmanız yeterli olmuyacaktır.Veri alırken üstte aldığımız gibi "ResponseText" yerine "ResponseBody" şeklinde alınması gerekiyor.Hepsini tek bir kod ile birleştirmek gerekirse :

Kod:
<%
strURL = "http://www.iyinet.com/"
Dim objXmlHttp 
Set objXmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXmlHttp.Open "GET" , strURL , false

objXmlHttp.sEnd 

strHTML = objXmlHttp.ResponseBody

Private  Function BinaryToString(Binary)
Dim  cl1, cl2, cl3, pl1, pl2, pl3
Dim  L
cl1 = 1
cl2 = 1
cl3 = 1
L = LenB(Binary)
Do  While cl1<=L
pl3 = pl3 &  Chr(AscB(MidB(Binary,cl1,1)))
cl1 = cl1 + 1
cl3 = cl3 + 1
If  cl3>300  Then
pl2 = pl2 & pl3
pl3 = ""
cl3 = 1
cl2 = cl2 + 1
If  cl2>200  Then
pl1 = pl1 & pl2
pl2 = ""
cl2 = 1
End  If
End  If
Loop
BinaryToString = pl1 & pl2 & pl3
End  Function


Response.Write BinaryToString(strHTML)
%>

Bu şekilde Türkçe karakterlerin ? çıkmasını engelleriz.. Bu şekilde kullanılmazsa bazı sayfalardan veri çekerken Türkçe karakterleri göremezsiniz..

kolay gelsin..

not: yöneticiler başlığı sabitlerse sevinirim..
 

LuGeLaS

0
İyinet Üyesi
Katılım
3 Haziran 2006
Mesajlar
947
Reaction score
0
Konum
Türkiye
Hızlı veri çekmek için tek çözüm mü ?

Emin misin buna.

Bence en kötüsü xmlhttp. Sunucuyu en çok kasan o
 

murdock

0
İyinet Üyesi
Katılım
28 Mart 2005
Mesajlar
1,273
Reaction score
3
bencede asptear.. xmlhttp ye geçmeden önce asptear kullandığım sayfayı aynı anda açan 4 kişi 1-2 dakka bekliyordu.. şimdi sorun yok gayette hızlı çekiyor.. ayrıca birçok kişi birçok yerde xmlhttp yi kullanıyor.. sabitlenirken gerekirse XMLHTTP ile veri çekmek olarak başlığı değişebilir..
 

Senol

0
İyinet Üyesi
Onaylı Üye
Katılım
25 Haziran 2005
Mesajlar
4,856
Reaction score
1
Konum
Bursa
LuGeLaS daha iyisini biliyorsan sende yazda faydalanalım ;)
 

Permission

0
İyinet Üyesi
Katılım
11 Aralık 2004
Mesajlar
6,458
Reaction score
3
Konum
izmir
bencede asptear.. xmlhttp ye geçmeden önce asptear kullandığım sayfayı aynı anda açan 4 kişi 1-2 dakka bekliyordu.. şimdi sorun yok gayette hızlı çekiyor.. ayrıca birçok kişi birçok yerde xmlhttp yi kullanıyor.. sabitlenirken gerekirse XMLHTTP ile veri çekmek olarak başlığı değişebilir..

XMLHTTP Belli zamandan sonra kitleniyor aynı andaki veri akışında özellikle şişiyor.
 

disconnect

0
İyinet Üyesi
Onaylı Üye
Katılım
1 Şubat 2005
Mesajlar
3,367
Reaction score
5
Veritabanından gelen tarih bilgisini düzenleme.
08.09.2009 olan tarihi 08 Eyl 2009 olarak yazdırmak.
<% function degistir(veri)
veri = Replace(veri ,"01","Oca",1,-1,0)
veri = Replace(veri ,"02","Şub",1,-1,0)
veri = Replace(veri ,"03","Mart",1,-1,0)
veri = Replace(veri ,"04","Nis",1,-1,0)
veri = Replace(veri ,"05","May",1,-1,0)
veri = Replace(veri ,"06","Haz",1,-1,0)
veri = Replace(veri ,"07","Tem",1,-1,0)
veri = Replace(veri ,"08","Ağus",1,-1,0)
veri = Replace(veri ,"09","Eyl",1,-1,0)
veri = Replace(veri ,"10","Ekim",1,-1,0)
veri = Replace(veri ,"11","Kas",1,-1,0)
veri = Replace(veri ,"12","Ara",1,-1,0)
degistir=veri
end function
%>

<%tarihim=veritabanı-tarih-bilgileri-yolu
bol=split(tarihim,".")
gun=bol(0)
ay=bol(1)
yil=bol(2)
%>
split yardımıyla . (nokta) dan bölüyoruz.
sayfaya yazdırmak için.
<%=gun%>
<%=degistir(ay)%>
<%=yil%>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Elektronik Sigara Cicisex Porno
Üst