Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - base64 verisini çekemiyorum
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

Kapalı Konubase64 verisini çekemiyorum

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
Senol Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye
Simge

Kayıt Tarihi: 01 Temmuz 2024
Durum: Aktif Değil
Puanlar: 49
Mesajın Direkt Linki Konu: base64 verisini çekemiyorum
    Gönderim Zamanı: 06 Ağustos 2024 Saat 09:41
//Listviewe tıkladığımda diğer veriler geliyor ama memoya bile base64 verisi gelmiyor //hata veriyor

var
  hayvanSahiplen : TclForm;
  edtYukleyenKisi, edtKonumBilgisi, edtNotEkle : TclEdit;
  noteMemo:TCLMemo;
  CameraImg,SourceImg: TClImage;
  testListview: TClListView;
  Qry : TClSQLiteQuery;
  database, password,baseString : String;
  LMemStream:TCLMemoryStream;
  
void GetData;
{
  try
    Qry = Clomosy.DBSQLiteQueryWith('SELECT ''Yükleyen Kişi:'' || Yukleyenadi as MAIN_TEXT, ''Konum:'' || KonumBilgisi as SUB_TEXT, ''Not:'' || NotBilgisi as FOOTER_TEXT,Base64,Id as SIDE_TEXT_BOTTOM FROM Categories');
    Qry.OpenOrExecute;
    testListview.clLoadListViewDataFromDataset(Qry);
  except
    ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
  }
}

void noteMemoOnClick;
 {
   
   
  
 }
 
void onItemClicked;
{
  Qry = Clomosy.DBSQLiteQueryWith('SELECT Yukleyenadi, KonumBilgisi, NotBilgisi,Base64 FROM Categories WHERE Id = ''' + clGetStringAfter(testListview.clSelectedItemData('SIDE_TEXT_BOTTOM'), ':') + '''');
  Qry.OpenOrExecute;
  edtYukleyenKisi.Text = Qry.FieldByName('Yukleyenadi').AsString;
  edtKonumBilgisi.Text = Qry.FieldByName('KonumBilgisi').AsString;
  edtNotEkle.Text = Qry.FieldByName('NotBilgisi').AsString;
  LMemStream = TCLMemoryStream.Create;
  LMemStream = Clomosy.Base64ToStream(Qry.FieldByName('Base64').AsString);

   SourceImg.Bitmap.LoadFromStream(LMemStream);
  
}


 
{
  hayvanSahiplen = TclForm.Create(Self);
  
  noteMemo = MyForm.AddNewMemo(MyForm, 'noteMemo', 'Bir Not Giriniz');
  noteMemo.StyledSettings = ssFamily;
  noteMemo.TextSettings.WordWrap = True;
  noteMemo.Height = 30;
  noteMemo.Align = alBottom; 
  
  
  edtYukleyenKisi = hayvanSahiplen.AddNewEdit(hayvanSahiplen, 'edtYukleyenKisi', 'Yüklen Kişi:');
  edtYukleyenKisi.Align = alMostTop;
  
  edtKonumBilgisi = hayvanSahiplen.AddNewEdit(hayvanSahiplen, 'edtKonumBilgisi', 'Konum bilgisi giriniz');
  edtKonumBilgisi.Align = alMostTop;
  
  edtNotEkle = hayvanSahiplen.AddNewEdit(hayvanSahiplen, 'edtNotEkle', 'Not ekleyiniz');
  edtNotEkle.Align = alMostTop;
  
  CameraImg = hayvanSahiplen.AddNewImage(hayvanSahiplen, 'CameraImg');
  CameraImg.Align = alMostTop;
  CameraImg.Height = 390;
  CameraImg.Width = 300;
  
  testListview = hayvanSahiplen.AddNewListView(hayvanSahiplen, 'testListview');
  testListview.Align = alClient;
  hayvanSahiplen.AddNewEvent(testListview, tbeOnMouseDown, 'onItemClicked');
  
  database = Clomosy.AppFilesPath + 'sokaktakiDostum.db3';
  password = '';
  try
    Clomosy.DBSQLiteConnect(database, password);
    Clomosy.DBSQLiteQuery.SQL.Text = 'CREATE TABLE IF NOT EXISTS Categories(Id INTEGER PRIMARY KEY,Yukleyenadi, KonumBilgisi, NotBilgisi,Base64)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    ShowMessage('Veri tabanına tablo ekleme işlemi başarılı!');
  except
    ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
  }
  
  GetData;
  hayvanSahiplen.Run;
}  
Yukarı Dön
Senol Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye
Simge

Kayıt Tarihi: 01 Temmuz 2024
Durum: Aktif Değil
Puanlar: 49
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 15:13
Yukarı Dön
oguz22 Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 18 Nisan 2024
Konum: İstanbul
Durum: Aktif Değil
Puanlar: 46
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 15:29
noteMemo.text = Qry.FieldByName('ColumnName').AsString;

olarak çekmeyi deneyebilir misin ?

Yukarı Dön
Senol Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye
Simge

Kayıt Tarihi: 01 Temmuz 2024
Durum: Aktif Değil
Puanlar: 49
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 16:22
Daha önceden denemiştim şimdi tekrar denedim yine çalışmadı 
Yukarı Dön
oguz22 Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 18 Nisan 2024
Konum: İstanbul
Durum: Aktif Değil
Puanlar: 46
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 16:40
Tamamdır bu kodu incelemeni tavsiye ederim.
İstediğinizi işlemi yapar umarım : 

var

   Port: Integer;

   Form1:TCLForm;

   qry : TClSQLiteQuery;

   MemStream: TclMemoryStream;

   BlobField: TBlobField;

   Img1 : TclImage;

   Base64String: string;

   BinaryData: TBytes;

 

 

void OnGuideQryClick;

 {

     try

       Qry = Clomosy.DBSQLiteQueryWith('SELECT imgUrl FROM TBLDocs WHERE id = 23');

       qry.OpenOrExecute;

       if (qry.Found)

       {

       ShowMessage(qry.FieldByName('imgUrl').AsString);

         BlobField = qry.FieldByName('imgUrl') as TBlobField;

         //MemStream = TclMemoryStream.Create;

         BlobField.SaveToStream(MemStream); // Load BLOB data into the stream

         MemStream.Position = 0;

         //Base64String = Clomosy.StreamToBase64(MemStream);

         //Clomosy.setClipBoard(Base64String);//FOR TEST PURPOSE COPIES BASE6

         //Img1.Bitmap.LoadFromStream(MemStream); // Load the image from the stream

         Img1.Bitmap.LoadFromStream(MemStream);

         MemStream.Free;

        

       }

     except

       ShowMessage('[019] Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);

     }

}

 

   void SqLiteInsertData;

  {

    try

 

      Base64String = Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath));

      MemStream = TclMemoryStream.Create();

      MemStream = Clomosy.Base64ToStream(Base64String);

     

      //BinaryData := TNetEncoding.Base64.DecodeStringToBytes(Base64String);

    //  Clomosy.DBSQLiteQuery.Sql.Text = '

    //INSERT INTO TBLDocs (id, imgName,imgUrl) VALUES (1,''Image 1'','''+Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath))+''');'; //addassetfromurl ile dosyaları indir

      //Clomosy.DBSQLiteQuery.

        ShowMessage(Clomosy.AppFilesPath);

        base64String = Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath));

        Clomosy.DBSQLiteQuery.SQL.Text = 'INSERT INTO TBLDocs (id, imgName, imgUrl) VALUES (23, ''test'', :imgUrl)';

        //Clomosy.DBSQLiteQuery.ParamByName('imgName').AsString = 'Image from Base64';

        Clomosy.DBSQLiteQuery.ParamByName('imgUrl').value = MemStream;

     

      Clomosy.DBSQLiteQuery.OpenOrExecute;

      //https://clomosy.com/learn/1Top.png

      ShowMessage('Adding data to the table was successful!');

    except

     ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);

   }

  }

 

  void SqLiteConnectionCreateTable;

  var

    TableExists: Boolean;

  {

    try

      Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBDocsFile.db3', '');

 

      // Check if the table exists

      Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="TBLDocs";';

      Clomosy.DBSQLiteQuery.OpenOrExecute;

     

      // Check the results

      TableExists = not Clomosy.DBSQLiteQuery.Eof;

     

      // Create the table if it does not exist

      if not (TableExists)

      {

        Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE TBLDocs (

                                          id INTEGER PRIMARY KEY,

                                          imgName TEXT NOT NULL,

                                          imgUrl BLOB NOT NULL

                                          );';

        Clomosy.DBSQLiteQuery.OpenOrExecute;

       

        ShowMessage('Table successfully added to the database!');

       

      } else

      {

        ShowMessage('The Products table already exists.');

      }

 

    except

     ShowMessage('Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);

    }

  }

 

  {

    Form1 = TclForm.Create(Self);

        ShowMessage(Clomosy.AppFilesPath);

    Img1 = Form1.AddNewImage(Form1,'Img1');

    Img1.Align = alClient;

    SqLiteConnectionCreateTable;

    SqLiteInsertData;

    OnGuideQryClick;

    Form1.Run;

  }


Yukarı Dön
Senol Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye
Simge

Kayıt Tarihi: 01 Temmuz 2024
Durum: Aktif Değil
Puanlar: 49
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 16:53
bunu daha önceden denemiştim bu hatanın gitmesi için ne yapabilirim 

Yukarı Dön
oguz22 Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 18 Nisan 2024
Konum: İstanbul
Durum: Aktif Değil
Puanlar: 46
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 16:58
Dosya yolunun doğru olduğundan emin misiniz ?
Yukarı Dön
Senol Açılır Kutu İzle
Deneyimli Üye
Deneyimli Üye
Simge

Kayıt Tarihi: 01 Temmuz 2024
Durum: Aktif Değil
Puanlar: 49
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 17:21
Sizin attığınız kodda hiçbir şeyi ellemedim neyi değiştirmem gerekiyor da

Yukarı Dön
oguz22 Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 18 Nisan 2024
Konum: İstanbul
Durum: Aktif Değil
Puanlar: 46
Mesajın Direkt Linki Gönderim Zamanı: 06 Ağustos 2024 Saat 17:31
Base64String = Clomosy.FileToBase64(clPathCombine('1Top.png',Clomosy.AppFilesPath));

bu kısımda '1Top.png' adında bir resim sizin klasörünüzde bulamadığı için bu hatayı veriyor.

Kendi Resminizi clomosy nin bulundupu kalasöre atarak adını da '1Top.png' yerine yazabilirsiniz.
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,031 Saniyede Yüklendi.