Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.
ulfis

ulfis

Medlem
  • Plats Sollentuna
  • Registrerad 2002-05-21
  • Senast aktiv 2011-11-17
  • Antal inlägg 73

Foruminlägg

De senaste inläggen ulfis har skrivit i forumet.

  • Medlem
  • Sollentuna
  • 2007-03-02 20:58

Långt ned i nerdgrottan?
Jo, för serial-IO-drivers. Modem script är något annat. Välkommen till nerdgrottan.
Alternativt är det en codeless driver och då kan den ligga i /System/Library/Extensions

  • Medlem
  • Sollentuna
  • 2007-02-28 23:01

Kolla /System/Library/Extensions/IOSerialFamily.kext/Contents/PlugIns/

  • Medlem
  • Sollentuna
  • 2007-02-25 21:10

Vill Du läsa XML direkt från fil, kolla på klassen NSXMLParser och dess metod [... initWithContentsOfURL:url] och [... parse]

Annars funkar ju CF-API:t, som CFXMLTreeCreateFromData(...), utmärkt i Cocoa...

  • Medlem
  • Sollentuna
  • 2007-02-24 22:43

starta terminalen, skriv in

sudo shutdown -r now

Autentisera med lösen och förhoppningsvis dödas de trilskande processerna...

  • Medlem
  • Sollentuna
  • 2007-02-08 20:14

In i Finder: Menyn Gå -> Gå till mapp... Skriv in /Volumes i dialogen. Ta bort mapparna, autentisera som en admin...
Funkar inte det får Du nog göra "sudo rmdir /Volumes/some\ disk\ name" i terminalen.

  • Medlem
  • Sollentuna
  • 2007-02-07 23:39

Låter som om Du inte avmonterar den korrekt....
Monteringspunkten "/Volumes/disknamn" riskerar då att ligga kvar och nästa gång samma disk mountas finns redan katalogen, så "/Volumes/disknamn 1" skapas, etc.

Kolla med skivkontroll så att inga rättigheter i disken måste korrigeras.

  • Medlem
  • Sollentuna
  • 2007-01-12 14:52

Senaste nytt om tvisten och varför Apple tydligen kan klara sig runt problemet:
<http://news.com.com/2100-1041_3-6149755.html?part=rss&tag=2547-1_3-0-5&subj=news>

  • Medlem
  • Sollentuna
  • 2007-01-11 08:26

Sägs att Cisco inte äget namnet iPhone worldwide (bara USA), så genom att driva det från det hållet kan Apple tydligen hävda rätten att använda namnet i USA också.

  • Medlem
  • Sollentuna
  • 2007-01-10 15:56

Då saknar nog disken ett fullständigt system...

  • Medlem
  • Sollentuna
  • 2007-01-10 15:39

Starta från CD/DVD, gå in i dess Verktygsmenyn->Startskiva och peka ut den interna disken som startdisk, och dessutom vilket OS Du vill starta (OS9/OSX).

  • Medlem
  • Sollentuna
  • 2007-01-09 21:10

Från MacFixit:

"I had the same trouble of the mac book pro 17" and my PowerbookG4 waking in the bag. I think the issue is caused by the portable bouncing around in the bag and the lid sensor thinking you have opened it up. Since I made this change I have not had this problem.

use bbedit to open the following file...

/Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist

then edit the line below so the Int is 0 for off not a 1 for on, this will tell the mac not to wake from sleep when the lid opens, or it thinks the lid opens when it is not. reboot once the change is saved.

<key>Wake On Clamshell Open</key>
<integer>0</integer>"

Har inte testat denna ändring. Känns som möjlig lösning, iaf temporärt.

  • Medlem
  • Sollentuna
  • 2007-01-09 14:39

> struct timeval t; //är detta en deklaration?

Japp.

> gettimeofday(&t, NULL); //så den är en funktion som har referensen t
> som parameter?

Japp.

> srandom(t.tv_sec); //om t kommer från ovan, var kommer tv_sec ifrån,
> eller är det en fördefinerad funktion?

en struct kan Du se på som en låda med innehåll. tv_sec är en heltalsvariabel i lådan. Skälet att man använder struct's är att man håller samman relaterade data. I detta fall håller struct:en timeval antal sekunder och mikrosekunder för anropet gettimeofday().

> 2. int current_lotto_sequence[NUMBER_LIMIT]; // så du skapar en vektor av
> längden 36, alltså alla talen mellan 0 och 36 ska ligga i den här vektorn?

Nästan. De skall rymma talen 1-36 och för detta använder vi indexen [0-35].
Mina två kodexempel visar på olika algoritmer att lösa problemet. Det ena lagrar de slumpade talen efter hand som de genereras. Det andra exemplet genererar alla möjliga tal och slumpar fram vilka vi skall välja. Olika approach på samma problem.
Man skulle kunna förklara uppbyggnaden och logiken i ord:

Lösning 1) Generera 11 st olika slumptal mellan 1 och 36. Generera ett nummer i taget tills att man fått ett ej redan tidigare genererat nummer.

Lösning 2) Lägg talen 1-36 i en sorterad array (jämför en burk med 36 nummer på bollar). Byt plats på två värden (bollar) med varandra (= skaka burken) godtyckligt antal gånger (t.ex 10000). Tag de 11 första numren (bollarna).

> 3. for (i=0; i<NUMBER_LIMIT; i++) current_lotto_sequence[i] = i+1; //här fyller
> du alltså arrayen med talen 0 till 35?

Nix, 1-36. Notera i stegar från 0-35, vilket ger i+1 = [1-36].

> 4. swap1 = random()% 35; do swap2 = random()% 35; //så du slumpar fram
> två tal och kollar om de är lika så byter du plats på dem, men hur vet du vad
> start värdet är när du har skrivit max värdet till 35?

Nej, jag slumpar fram ett index i vektorn (swap1) som skall ligga mellan 0-35. Därefter slumpar jag fram det andra indexet (swap2) att byta plats med, och gör det dessutom så länge som jag av någon händelse genererat samma tal igen (swap1 == swap2). Det fyller ju ingen funktion att plats 4 i vektorn byter innehåll med plats 4?

> 5. i++; // vilket är det du ökar värdet på, och vad har det för värde?

När man kommit ut ut loopen "for (i=0; i<NUMBER_LIMIT; i++) ..." så är i = NUMBER_LIMIT. Jag sparar detta värde på variabeln i och använder värdet i loopen nedanför.

> 6. while (i<10000); //Varför 10000?

Varför inte? Skulle kunna lägga ett slumpvärde där också. Gränsen går vid hur många gånger man skall byta plats på värdena i array:en, dvs "bollarna"... Så i vårt fall startar vi på 36 och går till 10000, dvs vi skakar burken 9964 ggr. Tillräckligt? Det avgör Du!

  • Medlem
  • Sollentuna
  • 2007-01-09 11:19

Samma problem här. Det verkar som om datorn vaknar ur viloläget, men att den stänger av skärmen eftersom locket är ihopvikt (= man har inte hunnit öppna locket).
Det enda som funkar för mig är att stänga locket, vänta 5 sek och öppna igen.

Kan det ha med inbyggda motion sensorn att göra?

  • Medlem
  • Sollentuna
  • 2007-01-09 11:14

// Eller varför inte ännu kortare:

#include <iostream>
#include <cstdlib>
#include <iomanip>

using namespace std;

#define NUMBER_LIMIT 36

int main (int argc, char * const argv[])
{
// Initialize random generator
struct timeval t;
gettimeofday(&t, NULL);
srandom(t.tv_sec);

unsigned rader;
cout<<"Skriv in hur många lottorader du vill skriva ut"<<endl;
cin>>rader;

for(int rad=1; rad<=rader; rad++)
{
int current_lotto_sequence[NUMBER_LIMIT];
int i, swap1, swap2;

// Reset sequence
for (i=0; i<NUMBER_LIMIT; i++) current_lotto_sequence[i] = i+1;

do
{
swap1 = random()% 35;
do swap2 = random()% 35; while (swap2 == swap1);

int tmp = current_lotto_sequence[swap1];
current_lotto_sequence[swap1] = current_lotto_sequence[swap2];
current_lotto_sequence[swap2] = tmp;

i++;
} while (i<10000);

for (i=0; i<11; i++)
cout<<setw(5)<<current_lotto_sequence[i];

cout<<endl;

}

return 0;
}

  • Medlem
  • Sollentuna
  • 2007-01-08 23:24

> Så jag kan skriva const int STORLEK=11; istället för #define NO_OF_NUMBERS 11 ?

Japp. Om Du då byter ut preprocessor-variablen 'NO_OF_NUMBERS' mot C-konstanten 'STORLEK' överallt.

> Hur vet du vad värdet för dessa tre variablerna är?

'variablerna' är parametrar till en funktion. Se anropet längre ned:
isunique(current_lotto_sequence, current_lotto_number, slump_nr)

parametrarnas värde blir de man skickar in vid anropet. Så om current_lotto_number är 2 och slump_nr är 17, blir det värdena 2 resp 17 på motsvarande parameters plats i funktionen. Första parameter är en pekare till array:en med heltal, dvs våra lottonummer.

> När retuneras noll?

När villkoret som Du klippte bort är uppfyllt, dvs när något tal i array:en mathcar det vi testar mot. Vi returnerar 0 som indikerar att talet redan finns och således inte är unikt. Vi fortsätter INTE slingan/loopen.

> När retuneras ett?

I samtliga andra fall. Dvs hittar vi inget matchande tal i vår array kommer vi att slutföra slingan 'for (int i=0; i<numbers_previously_assigned; i++)'. Väl ute ur den returnerar vi 1 som då indikerar att vårt tal (i parametern test) inte finns i array:en number_sequence. Vårt tal är således unikt.