Schnipsel



Textdatei auslesen


Das nachfolgende Beispiel zeigt, wie eine Textdatei Zeilenweise eingelesen werden kann.

object TextFileLines {

  def main(args: Array[String]) {
    scala.io.Source.fromFile("c:\\boot.ini").getLines().foreach {
      println(_)
    }
  }
timpt.de - X2H V 0.9
Getestet: Scala 2.8.0

Datenbankzugriff über JDBC


object ScalaJDBC {
  def main(args: Array[String]) {
    import java.sql._    
  
    classOf[org.postgresql.Driver]
    
    val connection = DriverManager.getConnection("jdbc:postgresql://localhost/database","user","password")
    val statement = connection.createStatement
    val sql = "SELECT * FROM table WHERE id > 0"
    val resultSet = statement.executeQuery(sql)  
   
    while (resultSet.next) println(resultSet.getInt("id")+" "+resultSet.getString("name"))
  }
}
timpt.de - X2H V 0.10
Getestet: Scala 2.8.1
Siehe: http://blogs.enterprisedb.com/2010/07/08/scala-postgresql-access/

Textdatei in einem Frame ausgeben


Das nachfolgende Beispiel zeigt, wie man den Inhalt einer Textdatei in einem Frame ausgeben kann. Wird vom Hauptfenster aus der Button1 gewählt, wird der Inhalt der Datei in einer TextArea ausgegeben. Wählt man den Button 2 dann wird der Inhalt in einem Label ausgegeben.

import swing._
import scala.swing._
import scala.swing.event._


object MyFrame{
  def main(args : Array[String]) {
    val myFrame = new MyFrame()
    myFrame.visible = true
    myFrame.listenTo(myFrame.button1,myFrame.button2,myFrame)
    myFrame.reactions += {
      case ButtonClicked(myFrame.button1) => new TextAreaFrame("c:\\ablage\\Test.txt")
      case ButtonClicked(myFrame.button2) => new LabelFrame("c:\\ablage\\Test.txt")
      case WindowClosing(w) => exit(0)
    }
  }
}

class MyFrame extends Frame{
  title = "MyFrame"
  val button1 = new Button("Button 1")
  val button2 = new Button("Button 2")
  
  val panel = new FlowPanel
  panel.contents += button1
  panel.contents += button2
  
  contents = panel
}

class TextAreaFrame(fileName: String) extends Frame{
  val textArea = new TextArea(25,80)      
  for (s: String <- scala.io.Source.fromFile(fileName).getLines()) textArea append (s + "\n")    
  contents = textArea
  visible = true
}

class LabelFrame(fileName: String) extends Frame{
  val builder = new StringBuilder
  for (s: String <- scala.io.Source.fromFile(fileName).getLines()) builder append (s + "<br>")
  contents = new Label("<html>"+builder.toString()+"</html>")
  visible = true
}
timpt.de - X2H V 0.11