nmurl compenenti hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
maqro
Üye
Mesajlar: 132
Kayıt: 11 Eki 2005 10:59

nmurl compenenti hakkında

Mesaj gönderen maqro »

s.a

http den veri post etmek için bir uygulama hazırlırlıyorum mnurl compenentine ihtiyacım war ara ara darlandım. delphi 7 de mewcut değil elinde olan paylaşabilirmi?

iyi çalışmalar...
mkysoft
Kıdemli Üye
Mesajlar: 3111
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

indy içinde http bileşeni var onunlada yapabilirsin.
maqro
Üye
Mesajlar: 132
Kayıt: 11 Eki 2005 10:59

Mesaj gönderen maqro »

hocam idhttp yi kullanıyorum zaten. Ancak sayfaya yollanacak werilerin textlerin url formatına çewrilmesi için nmurl ye ihtiyacım war sanırım.

ama başka bir yöntem warsa paylaşırsan makbule geçer.
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

url formatı nedir?
maqro
Üye
Mesajlar: 132
Kayıt: 11 Eki 2005 10:59

Mesaj gönderen maqro »

Url nin desteklediği format şekli desem yeri olur sanırım..

neden sordunuz?
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Ben daha önce duymadım url formatı diye bişey.
maqro
Üye
Mesajlar: 132
Kayıt: 11 Eki 2005 10:59

Mesaj gönderen maqro »

sayemde duymuş oldunuz efendim.

dün bir delphi kitabı geçti elime ihsan karagüllenin kitabı. idhttp ile ilgili geniş bir döküman wardı baya bir okudum ordan aklımda kalmış sanırım. Kitapta yazıyordu. Belkide mecazi bir anlatımı vardır bilemiyorum. Nede olsa türkçe nere çekersen oraya.

o değilde soruda arada kaynadı be hocam ):
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

Sanırım arkadaşımız ASP de var olan Server.URLEncode fonksiyonunun eşdeğerini arıyor.

http://www.google.com da UrlEncode delphi kelimelerini arıyoruz.

Kod: Tümünü seç

unit DzURL;

{ By Alexander Dzyubenko
     alexander@dzsoft.com
     http://www.dzsoft.com }

interface

uses SysUtils;

function UrlEncode(const DecodedStr: String; Pluses: Boolean): String;
// Encodes standard string into URL data format.
// Example: http://www.dzsoft.com -> http%3A%2F%2Fwww.dzsoft.com%2F
// Pluses parameter specifies whether spaces will be 
// encoded as '+' or as '%20'

function UrlDecode(const EncodedStr: String): String;
// Decodes URL data into a readable string.
// Example: http%3A%2F%2Fwww.dzsoft.com%2F -> http://www.dzsoft.com

function HexToInt(HexStr: String): Int64;
// Taken from http://www.delphi3000.com/article.asp?id=1412

implementation

function UrlEncode(const DecodedStr: String; Pluses: Boolean): String;
var
  I: Integer;
begin
  Result := '';
  if Length(DecodedStr) > 0 then
    for I := 1 to Length(DecodedStr) do
    begin
      if not (DecodedStr[I] in ['0'..'9', 'a'..'z',
                                       'A'..'Z', ' ']) then
        Result := Result + '%' + IntToHex(Ord(DecodedStr[I]), 2)
      else if not (DecodedStr[I] = ' ') then
        Result := Result + DecodedStr[I]
      else
        begin
          if not Pluses then
            Result := Result + '%20'
          else
            Result := Result + '+';
        end;
    end;
end;

function UrlDecode(const EncodedStr: String): String;
var
  I: Integer;
begin
  Result := '';
  if Length(EncodedStr) > 0 then
  begin
    I := 1;
    while I <= Length(EncodedStr) do
    begin
      if EncodedStr[I] = '%' then
        begin
          Result := Result + Chr(HexToInt(EncodedStr[I+1]
                                       + EncodedStr[I+2]));
          I := Succ(Succ(I));
        end
      else if EncodedStr[I] = '+' then
        Result := Result + ' '
      else
        Result := Result + EncodedStr[I];

      I := Succ(I);
    end;
  end;
end;

function HexToInt(HexStr: String): Int64;
var RetVar : Int64;
    i : byte;
begin
  HexStr := UpperCase(HexStr);
  if HexStr[length(HexStr)] = 'H' then
     Delete(HexStr,length(HexStr),1);
  RetVar := 0;

  for i := 1 to length(HexStr) do begin
      RetVar := RetVar shl 4;
      if HexStr[i] in ['0'..'9'] then
         RetVar := RetVar + (byte(HexStr[i]) - 48)
      else
         if HexStr[i] in ['A'..'F'] then
            RetVar := RetVar + (byte(HexStr[i]) - 55)
         else begin
            Retvar := 0;
            break;
         end;
  end;

  Result := RetVar;
end;

end.

http://www.torry.net/dpfl/dzurl.html alındı. Kodlar denenmemiştir.

Kolay gelsin
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Soru kaynamadı, Url Formatı diye birşey yok, sorunun kaynağına inmek adına bunu irdeliyorum.@Poshet303 direkt çözümü sunmuş olay bu.

Kolay gele..
maqro
Üye
Mesajlar: 132
Kayıt: 11 Eki 2005 10:59

Mesaj gönderen maqro »

hocam bişe dedimse bilmeden kusura bakma hakkını helal et.

Teşekkür ederim yardımınız için. öğrenmeye çalışıyorum kusura bakmayın...

selametle..
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Mesaj gönderen Lord_Ares »

hocam onun için şunu yapman yeterli bende aramıştım bulamamıştım.
şöyle çözdüm


uses Httpapp; // bunu usesa ekle


sonra edit bir textekini çevirmek istiyorsan

HTTPEncode(Edit1.Text);

şeklinde çeviriyor

daha sonra kullanırken direk edit.text demen yeterli oluyor.
Cevapla