#include "stdio.h" #include "string.h" #include "stdlib.h" #define MAX 20 int data[20]; int top=-1; int isFull(){ if(top==MAX-1) return 1; else return 0; } int isEmpty(){ if(top==-1) return 1; else return 0; } void push(int d){ if(isFull()==0){ top++; data[top]=d; } } int pop(){ int t=-1; if(isEmpty()==0){ t=data[top]; top--; } return t; } void operasi(char o){ int a, b, h; switch(o){ case '+': a = pop(); b = pop(); h = b + a; push(h); break; case '-': a = pop(); b = pop(); h = b - a; push(h); break; case '*': a = pop(); b = pop(); h = b * a; push(h); break; case '/': a = pop(); b = pop(); h = b / a; push(h); break; case '=': a = pop(); if(a!=-1) printf("%d\n",a); else printf("EMPTY\n"); } } int isOp(char* op){ if(strcmp(op,"+")==0 || strcmp(op,"-")==0 || strcmp(op,"*")==0 || strcmp(op,"/")==0 || strcmp(op,"=")==0) return 1; else return 0; } void main(){ char d[10]; while(1){ scanf("%s",d); if(isOp(d)){ operasi(d[0]); } else if(strcmp(d,"x")==0){ break; } else push(atoi(d)); } }
Author: antonie
fungsi split di delphi
function split(input: string; schar: Char; s: Integer): string; var c: array of Integer; b, t: Integer; begin Dec(s, 2); // for compatibility with very old & slow split function t := 0; // variable T needs to be initialized... setlength(c, Length(input)); for b := 0 to pred(High(c)) do begin c[b + 1] := posex(schar, input, succ(c[b])); // BREAK LOOP if posex looped (position before previous) // or wanted position reached.. if (c[b + 1] < c[b]) or (s < t) then break else Inc(t); end; Result := Copy(input, succ(c[s]), pred(c[s + 1] - c[s])); end;
penggunaan:
SPLIT(‘this is a test ‘,’ ‘,3) = ‘is’
SPLIT(‘data;another;yet;again;more;’,’;’,4) = ‘yet’
Check if a file is text or binary in Delphi?
function IsTextFile(const sFile: TFileName): boolean; //thanks to Marcelo Castro - from Brazil var oIn: TFileStream; iRead: Integer; iMaxRead: Integer; iData: Byte; dummy:string; begin result:=true; dummy :=''; oIn := TFileStream.Create(sFile, fmOpenRead or fmShareDenyNone); try iMaxRead := 1000; //only text the first 1000 bytes if iMaxRead > oIn.Size then iMaxRead := oIn.Size; for iRead := 1 to iMaxRead do begin oIn.Read(iData, 1); if (idata) > 127 then result:=false; end; finally FreeAndNil(oIn); end; end; (* ----- Sample call ----- *) procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then begin if IsTextFile(OpenDialog1.FileName) then showmessage('is ascii') else showmessage('is BinaryFile') end; end;
Penggunaan TXMLDoc di Delphi
saya mencoba menulis kembali sebuah unit tersendiri sehingga dapat digunakan untuk mengelola TXMLDoc dan dapat digunakan untuk menggantikan file .INI
unit uPenggunaanXml; interface uses Forms, SysUtils, Windows, XmlIntf, XMLDoc; type TXMLConfig = class private FModified: Boolean; FFileName: string; FXMLDoc: TXMLDocument; FBackup: Boolean; function GetVersion: string; public constructor Create(const FileName: string); overload; constructor Create; overload; destructor Destroy; override; procedure Save; function ReadString(const Section, Key, default: string): string; procedure WriteString(const Section, Key, Value: string); function ReadInteger(const Section, Key: string; default: Integer): Integer; procedure WriteInteger(const Section, Key: string; Value: Integer); function ReadBoolean(const Section, Key: string; default: Boolean): Boolean; procedure WriteBoolean(const Section, Key: string; Value: Boolean); property Backup: Boolean read FBackup write FBackup; property Version: string read GetVersion; end; implementation { TXMLConfig } constructor TXMLConfig.Create(const FileName: string); begin inherited Create; FBackup := True; FFileName := FileName; FXMLDoc := TXMLDocument.Create(Application); FXMLDoc.Options := [doNodeAutoIndent]; if FileExists(FFileName) then FXMLDoc.LoadFromFile(FFileName) else begin FXMLDoc.Active := True; FXMLDoc.AddChild('Configuration'); end; end; constructor TXMLConfig.Create; begin Create(ChangeFileExt(Application.Exename, '_cfg.xml')); end; destructor TXMLConfig.Destroy; begin Save; FXMLDoc.Destroy; inherited; end; function TXMLConfig.GetVersion: string; begin Result := '1.00'; end; function TXMLConfig.ReadBoolean(const Section, Key: string; default: Boolean): Boolean; begin Result := Boolean(ReadInteger(Section, Key, Integer(default))); end; function TXMLConfig.ReadInteger(const Section, Key: string; default: Integer): Integer; begin Result := StrToInt(ReadString(Section, Key, IntToStr(default))); end; function TXMLConfig.ReadString(const Section, Key, default: string): string; var Node: IXMLNode; begin Node := FXMLDoc.DocumentElement.ChildNodes.FindNode(Section); if Assigned(Node) and Node.HasAttribute(Key) then Result := Node.Attributes[Key] else Result := default; end; procedure TXMLConfig.Save; begin if not FModified then Exit; if FBackup then CopyFile(PChar(FFileName), PChar(FFileName + '.bak'), False); FXMLDoc.SaveToFile(FFileName); FModified := False; end; procedure TXMLConfig.WriteBoolean(const Section, Key: string; Value: Boolean); begin WriteInteger(Section, Key, Integer(Value)); end; procedure TXMLConfig.WriteInteger(const Section, Key: string; Value: Integer); begin WriteString(Section, Key, IntToStr(Value)); end; procedure TXMLConfig.WriteString(const Section, Key, Value: string); var Node: IXMLNode; begin if ReadString(Section, Key, '') = Value then Exit; Node := FXMLDoc.DocumentElement.ChildNodes.FindNode(Section); if not Assigned(Node) then Node := FXMLDoc.DocumentElement.AddChild(Section); Node.Attributes[Key] := Value; FModified := True; end; end.
Semoga membantu…
Fungsi-fungsi untuk Lock, Hibernate, Logoff, Shutdown Windows pada VB.NET
Harus import:
using System.Runtime.InteropServices;
Lock Computer:
[DllImport(“user32.dll”)]
public static extern void LockWorkStation();
Kemudian panggil fungsinya:
LockWorkStation();
Logoff:
[DllImport(“user32.dll”)]
public static extern int ExitWindowsEx(int uFlags, int dwReason);
Panggil fungsinya:
Logoff biasa:
ExitWindowsEx(0, 0);
Logoff force:
ExitWindowsEx(4, 0);
Reboot:
ExitWindowsEx(2, 0);
Shutdown:
ExitWindowsEx(1, 0);
Hibernate:
Application.SetSuspendState(PowerState.Hibernate, true, true);
Standby:
Application.SetSuspendState(PowerState.Suspend true, true);
Bagus kan??
Akses SQLite menggunakan JDBC (java)
import java.sql.*; public class Main { public static void main(String[] args) throws Exception { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery("SELECT Question, Answer, Type FROM Questions"); while (rs.next()) { System.out.println(rs.getString("1")); System.out.println(rs.getString("2")); System.out.println(rs.getString("3")); } rs.close(); conn.close(); } }
Pembuatan Database SQLite dengan VB.NET 2005
Tutorial ini mencoba menunjukkan bagaimana koneksi dengan SQLite dengan VB.NET 2005.
Kita membutuhkan sebuah DLL yang bernama System.Data.SQLite (http://sqlite.phxsoftware.com/) yang bersifat freeware…
Imports System.Data.SQLite Imports System.IO Private Sub btn_createdb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_createdb.Click 'Save Dialog Box Dim f As New SaveFileDialog f.Filter = "SQLite 3 (*.db3)|*.db3|All Files|" f.ShowDialog() 'Create Database Dim SQLconnect As New SQLite.SQLiteConnection() 'Database Doesn't Exist so Created at Path SQLconnect.ConnectionString = "Data Source=" & f.FileName & ";" SQLconnect.Open() SQLconnect.Close() End Sub Private Sub btn_tables_create_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_tables_create.Click Dim SQLconnect As New SQLite.SQLiteConnection() Dim SQLcommand As SQLiteCommand SQLconnect.ConnectionString = "Data Source=" & txt_dbpath.Text & ";" SQLconnect.Open() SQLcommand = SQLconnect.CreateCommand 'SQL query to Create Table SQLcommand.CommandText = "CREATE TABLE " & txt_tables_name.Text & "(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, description TEXT, image BLOB);" SQLcommand.ExecuteNonQuery() SQLcommand.Dispose() SQLconnect.Close() End Sub
Selamat mencoba!
Mengembalikan Image BLOB Menggunakan Web Service (VB.NET)
Pada kasus ini kita menggunakan SQLSERVER sebagai databasenya, dengan field seperti ini:
Field Tipe Data
==============
RowID int(11)
Picture BLOB
Yang perlu anda lakukan adalah mengganti parameter yang digunakan untuk koneksi ke SQLSERVER:
Buat method seperti ini pada Web Service Anda…
' Parameternya adalah sebuah id suatu record tertentu Public Function GetPicture(ByVal RowID As Long) As Byte() Dim Con As SqlClient.SqlConnection Dim DA As SqlClient.SqlDataAdapter Dim SQL As String Dim BA As Byte() Dim SC As New SqlCommand SQL = "SELECT Picture FROM Pictures WHERE RowID = " & RowID Con = New SqlConnection("User ID=YourID;password=YourPassword;" & _"Data Source=SQLSERVER;Initial Catalog=DatabaseName") SC.Connection = Con SC.Connection.Open() SC.CommandType = CommandType.Text SC.CommandText = SQL BA = CType(SC.ExecuteScalar(), Byte()) SC.Connection.Close() SC.Dispose() Return BA End Function
Kemudian siapkan sebuah picture box (PictureBox1) dan buat prosedur ini pada VB Desktop Anda:
Public Sub SetPicBox(ByVal ImageArray As Byte()) Dim ArraySize As New Integer ArraySize = ImageArray.GetUpperBound(0) Dim fs As New System.IO.FileStream("tmp.gif", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write) fs.Write(ImageArray, 0, ArraySize + 1) fs.Close() PictureBox1.Image = New Bitmap("tmp.gif") End Sub
Dan terakhir pada event on_Load pada form Anda, buat prosedur ini.
Anda bisa menggantinya dengan event-event lain.
Pada contoh dibawah ini, kita mencoba menggambil record dengan nomor 23:
Private Sub frmPicture_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load SetPicBox(YourService.GetPicture(23)) End Sub
Nah, selamat mencoba!