Dell XPS M1530 (Red) | T8300 | 4 GB | 750 GB 7200 rpm | 8600m GT | Wifi N | 1440x900 LG | 9 Cells | Windows 8.1 Pro x64
Hier kan je vinden hoe de statische regels in horen gevoegd.
Bij het niet speciferen van een regel wordt het gewoon na de laatste tekst op regel 1 ingevoegd en kapt ie hem op karakter 16 voor het LCD af.
Dell XPS M1530 (Red) | T8300 | 4 GB | 750 GB 7200 rpm | 8600m GT | Wifi N | 1440x900 LG | 9 Cells | Windows 8.1 Pro x64
Het is een eindeloze loop, het makkelijkst op te lossen door 2 loopjes achter elkaar te zetten, en vervolgens een verwijzing naar het begin van de eerste loop om weer van voren af aan te beginnen.
Hier kon uw advertentie staan
Verwijderd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| #include <stdio.h>
#include <string.h>
#define LCD_LEN 8
int main (int argc, char *argv[]) {
if (argc < 2) {
fprintf (stderr, "scroll: need message argument\n");
exit (1);
}
char s[strlen (argv[1]) + LCD_LEN];
memset (s, ' ', LCD_LEN - 1);
sprintf (s + LCD_LEN - 1, "%s", argv[1]);
int i,j,pad;
for (i = 0; s[i] != '\0'; i++) {
pad = 0;
for (j = 0; j < LCD_LEN; j++) {
if (s[i+j] == '\0') pad = 1;
if (!pad)
printf ("%c", s[i+j]);
else
printf (" ");
}
printf ("\n");
sleep (1);
}
return 0;
} |
Zoiets?
/inelkaarflans
1
2
3
4
5
6
7
8
| #/bin/bash
for i in `seq 0 ${#1}`; do
clear
echo ${1:$i};
echo ${2:$i};
sleep 1;
done |
Aanroepen met ./naamvanscript "Dit staat op de eerste regel" "Dit staat op de tweede regel"
of zo iets, zie Bash string-functies. Al is bash inderdaad waarschijnlijk niet de makkelijkste/handigste taal hiervoor
Beetje buggy/brakjes, maar het idee is wel duidelijk hopelijk.
[ Voor 8% gewijzigd door Wilke op 11-03-2005 15:22 ]
Wat je zegt klinkt idd heel simpel, heb alleen nog vrijwel geen ervaring met linuxscripts, dus het inlezen kost me gewoon veel tijd, verder zit ik nog een beetje met alle timing verschijnsels, als in hoe zorg je ervoor dat data voor een bepaalde tijd blijft staan als er ook een ander programma naar het lcd scherm toe schrijt, maargoed, ziet er naar uit dat het toch scripten wordt
[ Voor 4% gewijzigd door Terror op 11-03-2005 15:22 ]
Dell XPS M1530 (Red) | T8300 | 4 GB | 750 GB 7200 rpm | 8600m GT | Wifi N | 1440x900 LG | 9 Cells | Windows 8.1 Pro x64
Heeft lcdmod geen buffer waar je naar toe kunt schrijven ipv direct naar het scherm? If so dan laat je al je info gewoon naar die buffer schrijven en zou de rest vanzelf goed moeten komen.verder zit ik nog een beetje met alle timing verschijnsels, als in hoe zorg je ervoor dat data voor een bepaalde tijd blijft staan als er ook een ander programma naar het lcd scherm toe schrijt
[ Voor 4% gewijzigd door froggie op 11-03-2005 15:41 ]
Dell XPS M1530 (Red) | T8300 | 4 GB | 750 GB 7200 rpm | 8600m GT | Wifi N | 1440x900 LG | 9 Cells | Windows 8.1 Pro x64
Bijvoorbeeld:
./test.sh 'even kijken wat ie doet'
Geeft op het LCD bij een echo $STRING
even kijken wat ie doet
Maar Iets als:
1
2
3
4
5
| for i in `seq 1 ${#STRING}`; do echo ${1:$STRING:$i} > /dev/lcd; sleep 0.3 done |
Valt ie over met:
./test2.c: line 10: 1: Even kijken wat ie doet: syntax error in expression (error token is "kijken wat ie doet")
Dell XPS M1530 (Red) | T8300 | 4 GB | 750 GB 7200 rpm | 8600m GT | Wifi N | 1440x900 LG | 9 Cells | Windows 8.1 Pro x64