Processing:Примеры/Загрузка файла 2
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Этот скетч-пример демонстрирует загрузку из файла данных об автомобилях. Каждый элемент разделен табуляцией и соответствует какому-либо аспекту каждой машины. В файле хранится информация о милях на галлон, цилиндрах, кубатуре и т.д. для более чем 400 разных типов и моделей машин. Нажмите на кнопку мыши, чтобы перейти к следующей группе записей.
Пример
Record[] records;
String[] lines;
int recordCount;
PFont body;
int num = 9; // количество записей, которые будут показаны на экране
int startingEntry = 0; // начинаем показывать с этой записи
void setup() {
size(200, 200);
fill(255);
noLoop();
body = loadFont("TheSans-Plain-12.vlw");
textFont(body);
lines = loadStrings("cars2.tsv");
records = new Record[lines.length];
for (int i = 0; i < lines.length; i++) {
String[] pieces = split(lines[i], TAB); // загружаем данные
// в массив
if (pieces.length == 9) {
records[recordCount] = new Record(pieces);
recordCount++;
}
}
if (recordCount != records.length) {
records = (Record[]) subset(records, 0, recordCount);
}
}
void draw() {
background(0);
for (int i = 0; i < num; i++) {
int thisEntry = startingEntry + i;
if (thisEntry < recordCount) {
text(thisEntry + " > " + records[thisEntry].name, 20, 20 + i*20);
}
}
}
void mousePressed() {
startingEntry += num;
if (startingEntry > records.length) {
startingEntry = 0; // возвращаемся к началу
}
redraw();
}
class Record {
String name;
float mpg;
int cylinders;
float displacement;
float horsepower;
float weight;
float acceleration;
int year;
float origin;
public Record(String[] pieces) {
name = pieces[0];
mpg = float(pieces[1]);
cylinders = int(pieces[2]);
displacement = float(pieces[3]);
horsepower = float(pieces[4]);
weight = float(pieces[5]);
acceleration = float(pieces[6]);
year = int(pieces[7]);
origin = float(pieces[8]);
}
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |