Belajardengan.com merupakan domain blog lama dari delajardengan.blogspot.com. Mohon kritik dan sarannya untuk perkembangan blog ini.
email: blog.tkx.pnp@gmail.com

Cara Install Python Terbaru di Centos

♠ Posted by Unknown


Buka https://www.python.org/downloads/ dan download yang terbaru. Disini release terbarunya Python 3.7.2


pindah folder ke
#cd /usr/src


download python terbaru, contoh 3.7.2
#sudo wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz

extrak package
#sudo tar -xvf Python-3.7.2.tar.xz

#cd Python-3.7.2

#install compiler
#sudo yum install gcc
#sudo yum install openssl-devel


set config
#sudo ./configure --prefix=/opt/python3
#sudo make altinstall
#sudo ln -s /opt/python3/bin/python3.7 /usr/bin/python3.7

cek installasi
#python3.7 -V




:)

Belajar Basic Javascript

♠ Posted by Unknown in
#1
let name = "Name 1";
if(true){
  let name = "Name 2"
  console.log(name)
}
console.log(name);
>>
"Name 2"
"Name 1"  

#2
const AGES = [1,2,3,4];
console.log(AGES);
AGES.push(55);
console.log(AGES);
AGES.push(66,77);
console.log(AGES);
>>
[1, 2, 3, 4]
[1, 2, 3, 4, 55]
[1, 2, 3, 4, 55, 66, 77]

Belajar Java 8.

♠ Posted by Unknown in ,
Berikut adalah contoh hal-hal baru yang bisa dilakukan dengan java 8.

A. Comparator, Sorting dengan class Collection
---
public class Test_1 {
    public static void main(String[] args) {
        List stringList = new ArrayList<>();
        stringList.add("fdasadQ");
        stringList.add("qfdasadQ");
        stringList.add("fwwdasadQ");
        stringList.add("sfdfsfdasadQ");
        stringList.add("4543fdasadQ");

        System.out.println(stringList);
//        Collections.sort(stringList); //
//        Collections.sort(stringList, (s1, s2) -> s1.compareTo(s2));        
Collections.sort(stringList, (s1, s2) -> s2.compareTo(s1)); 
//decending       
 System.out.println("setelah di sorting");
        System.out.println(stringList);
    }
}
result:
[fdasadQ, qfdasadQ, fwwdasadQ, sfdfsfdasadQ, 4543fdasadQ]
setelah di sorting
[sfdfsfdasadQ, qfdasadQ, fwwdasadQ, fdasadQ, 4543fdasadQ]
---

B. Functional Interface
public class Test_1 {
    public static void main(String[] args) {

        TesPrin tesPrin = () -> System.out.println("cetak terserah");
        TesPrinParam tesPrinParam = (ss) -> System.out.println("cetak "+ss);

        System.out.println("memanggil default method di interface >>> "+tesPrin.srqt(9));
        tesPrin.prin();
        tesPrinParam.prin("param");

        Operasi tambah = (int bilA,int bilB)-> bilA + bilB;
        Operasi kurang = (int bilA,int bilB)-> bilA - bilB;
        Operasi kali = (int bilA,int bilB)-> bilA * bilB;
        Operasi bagi = (int bilA,int bilB)-> bilA / bilB;

        System.out.println(kalkulator(3,4, tambah));
        System.out.println(kalkulator(3,4, kurang));
        System.out.println(kalkulator(3,4, kali));
        System.out.println(kalkulator(3,4, bagi));
    }


    interface TesPrin{
        void prin();

        default double srqt(double angka){
            return  Math.sqrt(angka);
        }
    }

    interface TesPrinParam{
        void prin(String param);
    }

    interface Operasi{
        int aksi(int bilA,int bilB);
    }

    public static int kalkulator(int bilA,int bilB, Operasi operasi){
        return operasi.aksi(bilA,bilB);
    }
}
result:
cetak terserah
cetak param
memanggil default method di interface >>> 3.0
cetak terserah
cetak param
7
-1
12
0

C. For Each

public class Test_1 {

    public static void main(String[] args) {

        List<Siswa> siswaList = new ArrayList<>();
        siswaList.add(new Siswa("Sucipto", "Pintar"));
        siswaList.add(new Siswa("Elnanda", "Pintar Sekali"));
        siswaList.add(new Siswa("Ujup", "1"));
        siswaList.add(new Siswa("Nazar", "1"));
        siswaList.add(new Siswa("Suseno", "XL"));
        System.out.println("forEach Siswa");
        siswaList.forEach(siswa -> System.out.println(siswa));
        System.out.println();
        siswaList.forEach(siswa -> {
            if (siswa!=null && siswa.getName().equals("Sucipto"))
                System.out.println(siswa);
        });
    }
}

class Siswa{

    String name;
    String kelas;
// get set

    @Override    public String toString() {
        return "Siswa{" +
                "name='" + name + '\'' +
                ", kelas='" + kelas + '\'' +
                '}';
    }
}


D. Stream
siswaList.stream()
        .filter(siswa -> siswa.getKelas().contains("Pintar"))
        .forEach(System.out::println);

List<Siswa> siswaList1 = siswaList.stream()
        .filter(siswa -> siswa.getKelas().contains("X"))
        .collect(Collectors.toList());
siswaList1.forEach(System.out::println);

steam grouping
Map<String, List<Siswa>> collect = siswaList.stream().collect(Collectors.groupingBy(Siswa::getName));
collect.forEach(
        (s, siswas) -> {
            System.out.println(s+"|"+siswas);
        }
);

E. Bla bla


F. Bla bla


G. Bla bla

Belajar React Native #1

♠ Posted by Unknown in
Berikut apa saja yang perlu diinstal sebelum ngoding React Native:
note: ini untuk windows,kalau OS lain lansung saja ke link

  • Install JDK (versi yang paling baru)
  • Install Node JS
  • Install Android Studio + SDK (atau download zipnya)
  • Emulator Genymotion
Kalau semua diatas telah terinstall dengan baik jangan lupa set ANDROID_HOME dan JAVA_HOMEnya.
System Properties>>Advanced>>Environment Variables..>> klik new, tambahkan kedua hal diatas dan lokasi foldernya.

Next masuk ke directory kerja (terserah dimana) ketikan
>> npm install -g react-native-cli 
tunggu sampai kelar, dan ketikkan lagi
>> react-native init NamaProject 
tunggu sampai kelar, 'NamaProject' ini hanya contoh nama bebas diganti apapu. setelah selesai masuk ke NamaProject  jalankan Genymotion jalankan sebuah emulator dan ketikkan lagi di CMD
>> react-native run-android 






Coba2 GEO Elasticsearch

♠ Posted by Unknown
link

PUT /attractions
{
  "mappings": {
    "restaurant": {
      "properties": {
        "name": {
          "type": "string"
        },
        "location": {
          "type": "geo_point"
        }
      }
    }
  }
}


GET /attractions/restaurant/_search
{
  "query": {
    "filtered": {
      "filter": {
        "geo_distance": {
          "distance": "120km",
          "location": {
            "lat": 40.73,
            "lon": -74.1
          }
        }
      }
    }
  },
  "sort": [
    {
      "_geo_distance": {
        "location": {
          "lat":  40.715,
          "lon": -73.998
        },
        "order":         "asc",
        "unit":          "km",
        "distance_type": "plane"
      }
    }
  ]
}

Generate Column Name to POJO

♠ Posted by Unknown in ,,

Di kantor saya sekarang execute statement JDBC diganti dengan SQL2O, alasannya adalah masalah performance ketika mapping ke Object "katanya..!!!"). Dan emang ini kelihatan lebih cepat dari pada sebelumnya, namun SQL2O tidak suport mapping relasi seperti Hibernate, huff. capeekx
Dan satu lagi SQL2O belum ada tool untuk generate tabel to pojo secara auto. dan oleh sebab itu... kemaren ada yg nanya juga, kali ini saya sedikit share bagamana cara gila generate tabel db to pojo.


---
public class Nera extends SingleFrameApplication {
    JLabel label;
 
    @Override
    protected void startup() {
     ColumnDAO dao = new ColumnDAO();
     List<ColumnModel> list = dao.getColumnInfo("try2.student");
     for (ColumnModel columnModel : list) {
   System.out.println("private "+getVeriabel(columnModel.getType())+" "+getVeriabelName(columnModel.getField()) +";");
  }
   
     System.out.println("Map<String, String> map = new HashMap();");
   
    }
 
    String getVeriabel(String type){
     String[] typeOne = type.split("\\(");  
     String typeJava = Preference.map.get(typeOne[0]);
     if(typeJava==null){
      typeJava = Preference.map.get(typeOne[0].toUpperCase());
     }
     if(typeJava!=null && typeJava.equals("enum")){//need additional
      String[] enumtypes = typeJava.split("\\)");
      String[] enums =  enumtypes[0].split(",");
      return "enum";
     }
     return typeJava;
    }
 
    String getVeriabelName(String type){
     String name = "";
     type = type.toLowerCase();
     String[] nameOne = type.split("_");
     if(nameOne.length>0){
      name += nameOne[0];
      for (int i = 1; i < nameOne.length; i++) {
    char[] charNames= nameOne[i].toCharArray();
    String namePart = (""+charNames[0]).toString().toUpperCase();
    for (int j = 1; j < charNames.length; j++) {
     namePart+=""+charNames[j];
    }
    name+=namePart;
   }
     }
     return name;
    }
    public static void main(String[] args) {
        Application.launch(Nera .class, args);
    }  
}
public class ColumnDAO {

 Sql2o sql2o = new Sql2o("jdbc:mysql://localhost:3306/master", "root", "");

 public List<ColumnModel> getColumnInfo(String tablename){
     String sql = "SHOW COLUMNS FROM "+tablename;
     Map<String, String> map = new HashMap();
     map.put("Field", "Field");
     map.put("Type", "Type");
     map.put("Null", "Null");
     map.put("Key", "Key");
     map.put("Default", "Default");
     map.put("Extra", "Extra");
   
     sql2o.setDefaultColumnMappings(map);
     try (Connection con = sql2o.open()) {
         return con.createQuery(sql)
             .executeAndFetch(ColumnModel.class);
     }
   
 }
}
public class ColumnModel {
 String Field;
 String Type;
 String Null;
 String Key;
 String Default;
 String Extra;
//getset
}
public class Preference {
 public static Map<String, String> map = new HashMap();
 static {
  map.put("INT", "int");
  map.put("TINYINT", "boolean");
  map.put("SMALLINT", "int");
  map.put("MEDIUMINT", "int");
  map.put("BIGINT", "int");
  map.put("FLOAT", "double");
  map.put("DOUBLE", "double");
  map.put("DECIMAL", "double");
  map.put("DATE", "Date");
  map.put("DATETIME", "Date");
  map.put("TIMESTAMP", "Date");
  map.put("TIME", "Date");
  map.put("YEAR", "Date");
  map.put("CHAR", "char");
  map.put("VARCHAR", "String");
  map.put("BLOB", "String");
  map.put("TEXT", "String");
  map.put("TINYBLOB", "String");
  map.put("TINYTEXT", "String");
  map.put("MEDIUMBLOB", "String");
  map.put("MEDIUMTEXT", "String");
  map.put("LONGBLOB", "String");
  map.put("LONGTEXT", "String");
  map.put("ENUM", "[enum]");
 }
}
---

Godot Engine : Apa itu Godot Engine?

♠ Posted by Unknown in
 Godot Engine adalah salah satu alternative game berbasis opensource  berlisensikan The MIT License (MIT) sponsored by Okam Studio. Dan versi terbarunya dapat didowload di sini.

Game engine ini sangat powerfull meski masih dalam tahap pengembangan, dengan engine ini kita dapat membuat game 2D atau 3D. Engine ini menggunakan bahasa pemograman GDScript yang sekilas mirip bahasa pemograman Python. Engine ini juga support berbagai jenis platform diantaranya: Android, Ios, Windows, Osx, Linux, HTML5, Playstation 3 and Playstation Vita (only with license from Sony).

Berikut tampilan Godot Engine:




Untuk dokumentasi developernya bisa dilihat disini.

Simple Finding distances based on Lat and Long MYSQL

♠ Posted by Unknown in
Berikut cara simple menghitung jarak dengan input 2 lat long koordinat.
Latihan procedure msql:



Rumus: 
dlon = lon2 - lon1 
dlat = lat2 - lat1 
a = (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2 
c = 2 * atan2( sqrt(a), sqrt(1-a) ) 
d = R * c (where R is the radius of the Earth)

Procedure mysql:


DELIMITER $$
DROP PROCEDURE IF EXISTS `
SP_RADIUS
`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_RADIUS`(
IN sLatdata CHAR(30), IN sLngdata CHAR(30),
IN dLatdata CHAR(30), IN dLngdata CHAR(30))
BEGIN
SET @sLat = sLatdata * PI()/180;
SET @sLng = sLngdata * PI()/180;
SET @dLat = dLatdata * PI()/180;
SET @dLng = dLngdata * PI()/180;
SET @Rk = 6373;
SET @dlatx = @dLat - @sLat;
SET @dlonx = @dLng - @sLng;
SET @a  = POW(SIN(@dlatx/2),2) + COS(@sLat) * COS(@dLat) * POW(SIN(@dlonx/2),2);
SET @c  = 2 * ATAN2(SQRT(@a),SQRT(1-@a));
SET @dk = @c * @Rk;

SELECT @dk;
END$$
DELIMITER ;


///

CALL 
SP_RADIUS
('138.898556', '-77.037852', '38.897147', '-77.043934');

Button download file ExtJs

♠ Posted by Unknown


xtype: 'button',
                        text: 'Export Consistency',
                          margin: '0 5 0 10',
                          handler: function() {
                         
                          var exportApiUrl = "./Services/SleepingCell/ExportData/d/REGIONAL1/2014-06-10";

                          var body = Ext.getBody();

                          var frame = body.createChild({
                          tag:'iframe',
                          cls:'x-hidden',
                          id:'hiddenform-iframe',
                          name:'iframe'
                          });

                          var form = body.createChild({
                          tag:'form',
                          cls:'x-hidden',
                          id:'hiddenform-form',
                          action: exportApiUrl,
                          target:'iframe'
                          });
                          form.dom.submit();                          
                          }

Memulai Firefox OS

♠ Posted by Unknown in

Memulai Firefox OS

Banyak orang bertanya, bagaimana memulai firefox OS....  Perlu diketahui OS Firefox itu ibaratkan 'browser'.. jadi dia dia bisa ngejalanin halaman web. End yang dibutuhkan untuk menjalankan halaman web tersebut dibutuhkan file 'manifest.webapp', dimana halaman ini menjadi acuan or pengaturan halaman yang akan ditampilkan

berikut contoh sederhananya.

  • bikin halaman manifest. manifest.webapp seperti dibawah:

  • bikin halaman index.html seperti dibawah:

  • buka tool firefox simulator yang udah diinsatall Firefox OSnya. Klik "Add Directory" cari file "manifest.webapp" dan OK. Klo ada kesalahan akan tampil pesan erorr di list. Klik "Connect"
  • maka emulator akan jalan dan menginstall halaman web yang telah dibuat tadi.
  • berikut tampilannya

  • apabila link di klik maka akan muncul halaman seperti gambar. (apabila punya koneksi internet)


Dasar JEE : Pengalihan Response

♠ Posted by Unknown in
Latihan dasar JEE #1

Pada J2EE terdapat 2 methos pangalihan resposse:

  1. RequestDispacher
  2. Send Direct

Request Dispacher
Kali ini saya akan mencoba membuat sebuah form login sederhana. Disini terdapat dua buah inputtan, yaitu:
1. namauser
2. password
apabila user masuk sebagai admin maka akan dialihkan ke admin.jsp, apabia user memasukkan salah maka akan di alihkan kembali ke halaman login

index.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>login</h1>
        <form action="LoginDispacher" method="POST">
            <fieldset>
                UserName : <input type="text" name="nama" value="" />
            </fieldset>
            <fieldset>
                Password : <input type="password" name="pass" value="" />
            </fieldset>
            <fieldset>
                <input type="submit" value="Login" />
            </fieldset>
        </form>
    </body>
</html>

admin.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Halaman Admin</title>
    </head>
    <body>
        <h1> Anda Login sebagai "Admin"</h1>
        
    </body>
</html>

user.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>User Page</title>
    </head>
    <body>
        <h1>Anda login sebagai "Users"</h1>
    </body>
</html>

Login.java ---> servlet
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String username= request.getParameter("nama");
        String password= request.getParameter("pass");
        RequestDispatcher dis=null;
        if(username.equalsIgnoreCase("admin")&&password.equals("admin")){
            dis= request.getRequestDispatcher("/admin.jsp");
        }else if(username.equalsIgnoreCase("user")&&password.equals("user")){
            dis =request.getRequestDispatcher("/user.jsp");
        }else{
            out.println("Login Salah");
            dis = request.getRequestDispatcher("/index.jsp");
        }
        dis.include(request, response);
    }




apabila pada baris 'dis.include(request, response);' login.java(servlet) diganti dengan 'dis.forward(request, response);' tulisan login salah tidak akan include ke login.

Send Direct
untuk penggunaan method sendDirect kita tinggal ganti login.java (servlet) jadi seperti :
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String username= request.getParameter("nama");
        String password= request.getParameter("pass");
        //RequestDispatcher dis=null;
        if(username.equalsIgnoreCase("admin")&&password.equals("admin")){
            //dis= request.getRequestDispatcher("/admin.jsp");
            response.sendRedirect("admin.jsp");
        }else if(username.equalsIgnoreCase("user")&&password.equals("user")){
            //dis =request.getRequestDispatcher("/user.jsp");
            response.sendRedirect("user.jsp");
        }else{
            out.println("Login Salah");
            //dis = request.getRequestDispatcher("/index.jsp");
            response.sendRedirect("index.jsp");
        }
        //dis.forward(request, response);
    }

Perbedaan Pengalihan response dengan method Dispacher dan sendDirect adalah terdapat pada tampilan url di Browser......


Simple Parsing Data XML http://maps.googleapis.com/

♠ Posted by Unknown in ,
Kali ini saya akan sedikit share bagaimana parsing data xml dengan "Xml.Linq" untuk mendapat data nama Provinsi, Kota, Sub_Kota dari kordinat longitude dan latitude yang didapat  dari GPS.

contoh : http://maps.googleapis.com/maps/api/geocode/xml?latlng=-6.1333,106.7500&sensor=true
ini adalah koordinat salah satu daerah Tanah Datar, Sumatera Barat

    public partial class MainPage : PhoneApplicationPage

    {
        // Constructor
        private WebClient m_myWebClient;
        public MainPage()
        {
            InitializeComponent();
            m_myWebClient = new WebClient();
            string url = "http://maps.googleapis.com/maps/api/geocode/xml?latlng=-0.3056,100.3692&sensor=true";
            Uri uri = new Uri(url);
            m_myWebClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(myWebClient_DownloadStringCompleted);
            m_myWebClient.AllowReadStreamBuffering = true;
            m_myWebClient.DownloadStringAsync(uri);
        }

        private void myWebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
        {
            XDocument ListArray = XDocument.Parse(e.Result);
            string a = e.Result;
            //ListArray.Element("GeocodeResponse").Element("result").Element("address_component").Value;
            //var ss = from x in ListArray.Descendants("GeocodeResponse") select x.Attribute("administrative_area_level_1");
            string SubCity = ListArray.Descendants("type").FirstOrDefault(x => x.Value == "administrative_area_level_3").Parent.Element("long_name").Value;
            string City = ListArray.Descendants("type").FirstOrDefault(x => x.Value == "administrative_area_level_2").Parent.Element("long_name").Value;
            string Provincy = ListArray.Descendants("type").FirstOrDefault(x => x.Value == "administrative_area_level_1").Parent.Element("long_name").Value;
        }
    }
   
Terima Kasih
:)


Link Untuk Belajar

♠ Posted by Unknown in

Link Untuk Belajar

http://msdn.microsoft.com/en-us/library/zd5e2z84.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

Windows Phone || Contoh Simple Binding List

♠ Posted by Unknown in

Contoh Simple Binding List Windows Phone

MainPage.xaml
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button Command="{Binding Tambah}" Content="Button" HorizontalAlignment="Left" Margin="336,-126,0,0" VerticalAlignment="Top"/>
            <ListBox ItemsSource="{Binding L_classnama}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Width="400" Background="Goldenrod" Margin="0,0,0,5">
                            <!-- Binding Source Gambar -->
                            <Image Margin="20,0,0,0" Height="60" Width="60" Source="{Binding Gambar}"></Image>
                            <!-- Binding TextBlock -->
                            <TextBlock Text="{Binding Nama}" TextWrapping="Wrap" FontSize="30" Style="{StaticResource PhoneTextExtraLargeStyle}" FontFamily="Comic Sans MS"/>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Grid>

MainPage.xaml.cs

public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            DataContext = new MAinPageViewModle();
        }
    }


MAinPageViewModle

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
namespace Bi
{
    class MAinPageViewModle : Microsoft.Practices.Prism.ViewModel.NotificationObject
    {
        public List<ClassNama> L_classnama{get;set;}
        private Microsoft.Practices.Prism.Commands.DelegateCommand _tambah;
        void TambahAction() {
            L_classnama = new List<ClassNama>();
            L_classnama.Add(new ClassNama() { Nama = "xxxx", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "xx", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "xxx", Gambar = "unduhan.jpg" });
            Console.WriteLine("asssssssssssssssssssssssssssss");
            RaisePropertyChanged("");
        }
        public Microsoft.Practices.Prism.Commands.DelegateCommand Tambah
        {
            get { return _tambah; }
        }
        public MAinPageViewModle(){
            _tambah = new Microsoft.Practices.Prism.Commands.DelegateCommand(TambahAction);
            L_classnama = new List<ClassNama>();
            L_classnama.Add(new ClassNama() { Nama = "asdasdas" ,Gambar="unduhan.jpg"});
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
        }
    }  
}
 
ClassNama

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Bi
{
    class ClassNama  : Microsoft.Practices.Prism.ViewModel.NotificationObject
    {
        private string _nama;
        private string _gambar;
        public string Nama { get { return _nama; } set { _nama = value; RaisePropertyChanged(""); } }
        public string Gambar { get { return _gambar; } set { _gambar = value; RaisePropertyChanged(""); } }
    }
}





Dapatkan nama file dari url C#

♠ Posted by Unknown in

Dapatkan nama file dari url C#

public string GetFileName {             
            get{
                string URL = "http://vendyxiao.com/wp-content/uploads/2011/09/facebook_icon.png";
                _getNameFile = URL.Substring(URL.LastIndexOf("/") + 1, (URL.Length - URL.LastIndexOf("/") - 1));
                return _getNameFile;
            }
            set {
                _getNameFile = value;
            }
        }

Windows Phone || Save Image from Url

♠ Posted by Unknown in

Save Image from Url


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using SaveImageHttptoIso2.Resources;
using System.Windows.Media.Imaging;
using System.IO;
using System.IO.IsolatedStorage;
using System.Threading;
using Microsoft.Xna.Framework.Media;
using System.Windows.Resources;

namespace SaveImageHttptoIso2
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            Uri uri = new Uri("http://www.english.cam.ac.uk/pop/images/google_icon.png", UriKind.Absolute);
            xxx.Source = new BitmapImage(uri);

            var webClient = new WebClient();
            webClient.OpenReadCompleted += WebClientOpenReadCompleted;
            webClient.OpenReadAsync(new Uri("http://www.english.cam.ac.uk/pop/images/google_icon.png", UriKind.Absolute));
        }

        void WebClientOpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
            const string tempJpeg = "TempJPEG.jpg";
            var streamResourceInfo = new StreamResourceInfo(e.Result, null);

            var userStoreForApplication = IsolatedStorageFile.GetUserStoreForApplication();
            if (userStoreForApplication.FileExists(tempJpeg))
            {
                userStoreForApplication.DeleteFile(tempJpeg);
            }

            var isolatedStorageFileStream = userStoreForApplication.CreateFile(tempJpeg);

            var bitmapImage = new BitmapImage { CreateOptions = BitmapCreateOptions.None };
            bitmapImage.SetSource(streamResourceInfo.Stream);

            var writeableBitmap = new WriteableBitmap(bitmapImage);
            writeableBitmap.SaveJpeg(isolatedStorageFileStream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0, 85);

            
    }
}

Simple Binding Image Windows Phone Isolatedstorage

♠ Posted by Unknown in

Simple Binding Image Windows Phone Isolatedstorage


MainPage.xaml

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <TextBox HorizontalAlignment="Left" Height="72" Margin="10,10,-10,0" TextWrapping="Wrap" Text="{Binding Nama, Mode=TwoWay}" VerticalAlignment="Top" Width="456"/>
            <TextBox HorizontalAlignment="Left" Height="72" Margin="10,82,-10,0" TextWrapping="Wrap" Text="{Binding Password, Mode=TwoWay}" VerticalAlignment="Top" Width="456"/>
            <Button Command="{Binding Save, Mode=TwoWay}" Content="Button" HorizontalAlignment="Left" Margin="158,178,0,0" VerticalAlignment="Top"/>
            <Button Content="Netxt" HorizontalAlignment="Left" Margin="187,311,0,0" VerticalAlignment="Top" Click="Button_Click_1"/>
        </Grid>

---
Page1.xaml

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <TextBlock HorizontalAlignment="Left" Margin="73,40,0,0" TextWrapping="Wrap" Text="{Binding Iso, Mode=OneTime}" VerticalAlignment="Top" Width="275"/>
            <Image Source="{Binding ThumbImage}" HorizontalAlignment="Left" Height="100" Margin="182,176,0,0" VerticalAlignment="Top" Width="100"/>
        </Grid>

---

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.IO.IsolatedStorage;
using System.Windows.Media.Imaging;
using System.IO;
using System.Windows.Resources;
using System.Windows;
namespace lainPageIso
{
    class MainViewModel : INotifyPropertyChanged
    {
        private string _nama, _password;

        private System.Windows.Input.ICommand _save;
 
        public MainViewModel(){
            this._save = new DelegateCommand(this.SaveAction);
        }

        public string Nama {
            get { return _nama; }
            set { _nama = value; RaisePropertyChanged(""); }
        }

        public string Password
        {
            get { return _password; }
            set { _password = value; RaisePropertyChanged(""); }
        }

        public void SaveAction(object p) {

            IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
            StreamWriter streamWriter = null;
            if (!isf.FileExists("coba.txt"))
            {
                isf.CreateFile("coba.txt");
            }
            else {
                streamWriter = new StreamWriter(new IsolatedStorageFileStream("coba.txt",FileMode.Open,isf));
             
            }
            streamWriter.WriteLine(_nama+""+_password);
            streamWriter.Close();
            saveImage();
            RaisePropertyChanged("");
        }

        public System.Windows.Input.ICommand Save {
            get {
                return _save;
            }
        }

        void saveImage() {
            String tempJPEG = "logo.jpg";

            // Create virtual store and file stream. Check for duplicate tempJPEG files.
            using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (myIsolatedStorage.FileExists(tempJPEG))
                {
                    myIsolatedStorage.DeleteFile(tempJPEG);
                }

                IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile(tempJPEG);

                StreamResourceInfo sri = null;
                Uri uri = new Uri(tempJPEG, UriKind.Relative);
                sri = Application.GetResourceStream(uri);

                BitmapImage bitmap = new BitmapImage();
                bitmap.SetSource(sri.Stream);
                WriteableBitmap wb = new WriteableBitmap(bitmap);

                // Encode WriteableBitmap object to a JPEG stream.
                Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);

                //wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
                fileStream.Close();
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;

        private void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = this.PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
}

---

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO.IsolatedStorage;
using System.Windows.Media.Imaging;
using System.IO;
using System.ComponentModel;

namespace lainPageIso
{
    class Page1ViewModel : INotifyPropertyChanged
    {
        IsolatedStorageFile get = IsolatedStorageFile.GetUserStoreForApplication(); 
        string x   ="";

        public Page1ViewModel() {
            if (get.FileExists("coba.txt"))
            {
                try
                {
                    StreamReader read = new StreamReader(new IsolatedStorageFileStream("coba.txt", FileMode.Open, get));
                    x = read.ReadLine();
                    read.Close();
                }
                catch (Exception ex)
                {
                }

            }
            if (get.FileExists("logo.jpg"))
            {
                x += " image ada";
            }
        }
        public string Iso {         
            
            get { return x; } 
        }

        void readImage() {
            BitmapImage bi = new BitmapImage();

            using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("logo.jpg", FileMode.Open, FileAccess.Read))
                {
                    //bi.SetSource(fileStream);
                    //img.Width = bi.PixelWidth;
                }
            }
            //this.img.Source = bi;
        }

        private string _thumbFileName;
        public string ThumbFileName
        {
            get
            {
                return _thumbFileName;
            }
            set
            {
                _thumbFileName = value;
                RaisePropertyChanged("ThumbFileName");
                RaisePropertyChanged("ThumbImage");
            }
        }

        public BitmapImage ThumbImage
        {
            get
            {
                BitmapImage image = new BitmapImage();
                IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();
                string isoFilename = ThumbFileName;
                var stream = isoStore.OpenFile("logo.jpg", System.IO.FileMode.Open);
                image.SetSource(stream);
                return image;
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        private void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler handler = this.PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
}